FIRDataEventTypeValue和FIRDataEventTypeChildAdded点火顺序

时间:2018-01-30 03:29:09

标签: ios firebase firebase-realtime-database

current Firebase Admin SDK以及2.5.1 Firebase iOS SDK(现在的遗产)的文档提到了有关事件的一些保证,对我来说最相关的是:

  

值事件总是最后触发,并且保证包含在拍摄快照之前发生的任何其他事件的更新。

这是否仍然适用于iOS SDK(the current docs for which已删除包含保证的表格),尤其是隔行扫描observeobserveSingleEvent时?换句话说,如果我在应用启动时调用此代码:

ref.child("users").observe(.childAdded) { snapshot in
    print("Child added")
}
ref.child("users").observeSingleEvent(of: .value) { snapshot in
    print("Value event")
}

我是否可以保证在childAdded事件之前触发value个事件?换句话说,如果users下有3个孩子,我会在控制台中得到这个吗?

Child added
Child added
Child added
Value event

更多背景信息:

我正在尝试从Firebase加载初始blob数据,之后我想通知应用程序已收到所有初始数据。换句话说,我想做this answer建议的事情。一些简单的实验肯定了保证,但this answer也表明当本地数据可用时隔行扫描observeobserveSingleEvent会破坏保证。

0 个答案:

没有答案