2015-12-02 79 views
1

新建火力點,並試圖瞭解事情是如何工作的。我有一個Android應用程序,並計劃使用脫機支持,我試圖找出是否需要使用回調。當我作出這樣一個電話:本地數據庫寫入是同步發生還是異步發生?

productNode.child("price").setValue(product.price) 

是否給setValue該呼叫在主線程上同步發生,並同步到雲異步發生?或者兩者都在後臺線程上異步執行?

回答

2

的火力地堡客戶端立即更新其數據的本地副本與新的價值。作爲其中的一部分它觸發任何需要的地方(valuechild_*)事件。

數據到數據庫的發送上一個單獨的線程發生。如果您想知道何時完成,您可以註冊一個CompletionListener

如果服務器不知何故無法完成寫操作(通常是因爲寫違反安全規則),客戶端就會觸發需要得到應用回到正確的狀態的任何其他事件。所以在一個值監聽器的情況下,它將使用先前的值觸發第二個value事件。

相關問題