我有一些函数可以从Firebase读取数据,但有时候我从来没有得到过响应(或者它被大量延迟).我在这里读到,Firebase可能会在收到数据之前关闭套接字连接.看起来这里有人有类似的问题,但从未发布过解决方案.
以下是我从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)
}
})
}
Run Code Online (Sandbox Code Playgroud)
有什么方法我可以使用observeEventType?也许那时我至少会获得有关问题发生原因的更多信息.
我期待创建一个Visual Studio AddIn,它可以帮助我启动自己的调试过程.我想保持原始的基于F5的调试完好无损,因此我不想拦截该调用并需要单独的AddIn.
有什么建议