我正在使用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);
});
是否有其他人遇到此问题或猜测为何会发生这种情况?
编辑:我在节点
中这样做答案 0 :(得分:0)
它按预期工作。与.set()方法关联的回调是可选的,只有在出现错误时才会收到错误的obj。由于数据写入firebase时可能没有错误,因此生成的错误参数实际上为空,因此您在控制台中看不到任何内容。
将您的console.log调整为:
rootRef.set(data, function (err) {
console.log("callback complete! ", err);
});
现在,如果您运行代码,您将看到“回调完成!”在控制台中,如果它确实存在,你只会看到'错误'。