其中一个Firebase documentation引号:
每次修改子节点时都会触发
child_changed
事件。这包括对子节点后代的任何修改。它通常与child_added
和child_removed
结合使用,以响应对项目列表的更改。
现在说我有这个结构:
parent-node: {
child1,
child2,
...
}
并按以下顺序将侦听器附加到父节点:
parentRef.on('child_added', function() {
// Record the children to my memory cache
}
parentRef.on('child_removed', function() {
// Remove the deleted children from my memory cache
}
parentRef.on('child_changed', function() {
// Do something with the children in my memory cache
}
这是否意味着如果听众像上面那样注册,我就不会错过对孩子的任何改变?
Firebase是否同时注册了听众?或者说,如果注册child_added
和child_removed
之间存在轻微延迟,以便在child_removed
侦听器注册之前存在子删除事件,那么child_removed
侦听器能抓住那个儿童搬家活动吗?
修改
听众应该根据答案和firebase doc的另一个引用来工作:
事件总是最终反映数据的正确状态,即使在本地操作或时间导致暂时性差异的情况下,例如暂时丢失网络连接。
答案 0 :(得分:1)
事件几乎同时注册。这取决于你对远程主机的延迟有多快,但它不应该干扰你的意图。