Firebase" set"完成回调未触发

时间:2014-08-17 05:38:02

标签: firebase

我正在使用Firebase(免费计划)并遇到问题,当设置的数据超过一定数量的密钥时,set的完成回调未被调用。限制因数据嵌套的深度而异,但对于1个深度对象,该限制似乎是1453个键。在1453年以上,完成回调永远不会发生。

var data = {};

// Change 1453 to 1454 and the completion callback never fires
for (var i = 0; i < 1453; i++) {
    data[i] = true;
}

rootRef.set(data, function (err) {
    console.log(err);
});

是否有其他人遇到此问题或猜测为何会发生这种情况?

编辑:我在节点

中这样做

1 个答案:

答案 0 :(得分:0)

它按预期工作。与.set()方法关联的回调是可选的,只有在出现错误时才会收到错误的obj。由于数据写入firebase时可能没有错误,因此生成的错误参数实际上为空,因此您在控制台中看不到任何内容。

将您的console.log调整为:

rootRef.set(data, function (err) {
    console.log("callback complete! ", err);
}); 

现在,如果您运行代码,您将看到“回调完成!”在控制台中,如果它确实存在,你只会看到'错误'。