Firebase活动保证孩子添加了孩子

时间:2016-10-14 07:55:18

标签: javascript firebase firebase-realtime-database

其中一个Firebase documentation引号:

  

每次修改子节点时都会触发child_changed事件。这包括对子节点后代的任何修改。它通常与child_addedchild_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_addedchild_removed之间存在轻微延迟,以便在child_removed侦听器注册之前存在子删除事件,那么child_removed侦听器能抓住那个儿童搬家活动吗?

修改

听众应该根据答案和firebase doc的另一个引用来工作:

  

事件总是最终反映数据的正确状态,即使在本地操作或时间导致暂时性差异的情况下,例如暂时丢失网络连接。

1 个答案:

答案 0 :(得分:1)

事件几乎同时注册。这取决于你对远程主机的延迟有多快,但它不应该干扰你的意图。