current Firebase Admin SDK以及2.5.1 Firebase iOS SDK(现在的遗产)的文档提到了有关事件的一些保证,对我来说最相关的是:
值事件总是最后触发,并且保证包含在拍摄快照之前发生的任何其他事件的更新。
这是否仍然适用于iOS SDK(the current docs for which已删除包含保证的表格),尤其是隔行扫描observe
和observeSingleEvent
时?换句话说,如果我在应用启动时调用此代码:
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也表明当本地数据可用时隔行扫描observe
和observeSingleEvent
会破坏保证。