Firebase"设置"完成回调未触发

dre*_*els 5 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);
});
Run Code Online (Sandbox Code Playgroud)

有没有其他人遇到过这个问题或猜测为什么会这样?

编辑:我在节点中这样做

Kyl*_*yle 0

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

将 console.log 调整为:

rootRef.set(data, function (err) {
    console.log("callback complete! ", err);
}); 
Run Code Online (Sandbox Code Playgroud)

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