在iOS中打开Firebase的持久性时,我的观察者会发生什么事实以及他们在技术层面上的表现如何?
我很清楚它应该如何在基于此https://www.firebase.com/docs/ios/guide/offline-capabilities.html的高级别上运行 - Firebase基本上保留了您可以在离线时访问的数据的缓存副本。
我不明白的是我的观察者应该开枪多少次以及有什么信息。
在启用了持久性的应用中,我注意到了:
最好清除这一点,以便我们知道哪些应该是正常行为:)
答案 0 :(得分:15)
实际上非常简单。当您附加观察者(无论是使用,
还是db.collection.find({ "fieldToCheck" : { $exists : true, $ne : null } })
)时,Firebase会:
虽然有一些细微之处:
observeEventType
次事件(例如/ foo / bar),但在我们从服务器获取您正在观察的位置的完整数据之前,您不会得到observeSingleEventOfType
事件(例如/ foo)。ChildAdded
,那么你明确只要求一个事件,所以如果你有缓存数据,#1会发生,但#2不会,这可能不是你想要的(你永远不会看到最新的服务器数据。)希望这有帮助!