node.js中的Firebase,set()回调被延迟

时间:2013-07-10 18:01:14

标签: firebase

我有一个运行连接到Firebase的小节点脚本的EC2实例。奇怪的是,它经常发生在一个小实例上,即set操作立即执行,但回调函数只能在很晚的时候(30s到2分钟之间)被调用。你知道为什么会这样发生的原因吗?

console.log('creating');

// Create workspace
rootRef.child('spaces').child(chid).set(req.space, function(error) {
  var end = new Date().getTime();
  var time = end - start;
  console.log('- created', error, time);
});

2 个答案:

答案 0 :(得分:1)

该错误与节点0.11直接相关(set()回调仅在我的方案中称为第一个名称)。只需恢复到0.10.x,它就全部修复了!

答案 1 :(得分:0)

我一直面临同样的问题。 " Set"根本没有调用回调。但是,我注意到,如果我在独立文件中运行与您类似的代码段,则可以非常快速地调用回调。

事实证明,如果您要在同一节点上安装侦听器,则需要调用" set"函数on(即on(' child_added'),on(' child_removed')...等)并且该Node有大量记录,它只需要年龄。

我删除了侦听器(进行测试)和"设置"开始很快调用回调。

我希望这有帮助!