在离线期间未收到在集合中添加文档的回调。在联机模式下可以正常工作。
但是,正在添加文档,并且正在听集合的侦听器正在获取添加的文档快照。
let database = Firestore.firestore()
let data = prepareRawDataFromObject(model)
if let data = data {
printLog(" Collection: \(collection)")
printLog(" Data Request: \(String(describing: data)) ")
var documentRef: DocumentReference? = nil
documentRef = database.collection("collection").addDocument(data: data) { (error) in
if let error = error {
failure()
printLog(" Adding Document \(collection): \(error.localizedDescription) ")
} else {
printLog("✅ Document Added successfully...✅")
success(documentRef!.documentID)
}
}
}
答案 0 :(得分:0)
如果您的设备无法到达Firestore后端,则不会调用success
侦听器和failure
侦听器。仅当数据提交到Firebase服务器或被Firebase服务器拒绝后,才会调用成功/失败侦听器。这就是当设备处于脱机状态时什么也没得到并且在设备处于联机状态时仍能正常工作的原因。
因此,如果在完成写操作后侦听器仍然存在,换句话说,当设备重新联机时,侦听器将被调用。