gpt4 book ai didi

离线时的 Firebase setValue

转载 作者:行者123 更新时间:2023-12-02 01:10:46 29 4
gpt4 key购买 nike

我会在他注册时将用户数据保存到 firebase,但是有一个问题,如果他创建了 Auth 帐户然后在保存他的信息之前失去了连接,这意味着他将得到没有任何个人资料信息的电子邮件\密码。

所以问题是如果他失去连接或退出应用程序如何重新设置值?

FIRAuth.auth()?.createUser(withEmail: self.emailTxt.text!, password: self.passTxt.text!, completion: {
(user, error) in
if error != nil {
if let isError = error?.localizedDescription
{
print(isError)
} else {
print("Error: 33")
}
}
else if user != nil
{
// Email and password created
let userInfo: [String : Any] = ["timestamp": FIRServerValue.timestamp(),
"uid" : user!.uid,
"email" : self.emailTxt.text!,
// This info must be send again if its failed.
]
self.ref.child("users").child("profile").child((user?.uid)!).setValue(userInfo) {
(error, ref) in

if error != nil {
print("error set profile info")
// What should i do if its failed?
} else {
print("done creating user's profile")
}
}
}
}// Completion end.

最佳答案

您需要启用磁盘持久性:

Database.database().isPersistenceEnabled = true

Firebase 应用自动处理临时网络中断。缓存数据在离线时可用,Firebase 会在网络连接恢复时重新发送任何写入。

这里是 Firebase Offline Capabilities documentation.

关于离线时的 Firebase setValue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45252468/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com