0
我試圖在firebase數據庫上運行查詢,如果用戶處於離線狀態,我想顯示彈出式窗口,提示用戶再次嘗試。但是,脫機時查詢不會返回。Firebase數據庫查詢在離線時不返回
databaseRef.queryEqual(toValue: "someValue").observeSingleEvent(of: FIRDataEventType.value, with: { (snapshot) in
print(snapshot) //this is never called when user is offline
}) { (error) in
print(error) //neither is this
}
運行此查詢並檢測用戶是否脫機的最佳策略是什麼?
謝謝Puf!你會推薦什麼作爲最好(最安全)的方法。 1)就像在你的回答中一樣,如果連接不上,查詢Firebase客戶端是否連接並禁止查詢,或者2)嘗試查詢,如果查詢在X秒內未返回,那麼認爲它失敗並刪除觀察者? – Nilsymbol
除非我需要基於時間的事情,否則我絕對不會使用超時。情況並非如此。如果位置是全新的並且在客戶端創建,請考慮通過調用'setValue(nil)'來啓動位置。這樣客戶就知道沒有價值並且會開火。我最近在這裏回答了一個非常類似的問題:http://stackoverflow.com/questions/42430992/firebase-ondatachange-not-called-when-offline/42431732#42431732 –