【发布时间】:2016-10-28 05:44:40
【问题描述】:
我有一些函数可以从 Firebase 读取数据,但有时我从来没有得到响应(或者它被严重延迟)。我读到here,也许 Firebase 可以在接收到数据之前关闭套接字连接。看起来有人遇到了类似的问题here,但从未发布过解决方案。
这是我从 Firebase 下载用户数据的代码示例。
// loads the current user's information
static func loadUserDataWithCompletion(completion: (UserInfo) -> Void) {
let ref = FIRDatabase.database().reference()
print("loading current user data...")
let uid = (FIRAuth.auth()?.currentUser?.uid)!
ref.child("users").queryOrderedByKey().queryEqualToValue(uid).observeEventType(.ChildAdded, withBlock: { (snapshot) in
print("found user data!")
if let dictionary = snapshot.value as? [String:AnyObject] {
let info = userFromDict(dictionary)
// execute code slated for completion
completion(info)
}
})
}
有什么方法可以使用observeEventType 检测错误吗?也许那时我至少会得到更多关于为什么会发生问题的信息。
【问题讨论】:
标签: ios swift firebase firebase-realtime-database