Firebase“设置”完成回调未触发
Posted
技术标签:
【中文标题】Firebase“设置”完成回调未触发【英文标题】:Firebase "set" completion callback is not firing 【发布时间】:2014-08-17 05:38:01 【问题描述】:我在玩 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);
);
有没有其他人遇到过这个问题或猜到它为什么会发生?
编辑:我在节点中这样做
【问题讨论】:
要明确一点:完成回调永远不会触发并且该值也永远不会在您的 Firebase 中结束? 该值出现在 firebase 但回调永远不会触发 你怎么知道它永远不会触发? @lombausch 我知道它不会触发,因为没有任何东西会输出到我的控制台 如果你的 "err" 是 "" 怎么办? 【参考方案1】:它按预期工作。与 .set() 方法关联的回调是可选的,只有在出现错误时才会收到 err obj。由于在将数据写入 firebase 时可能没有错误,因此生成的 err 参数实际上为空,因此您在控制台中看不到任何内容。
将您的 console.log 调整为:
rootRef.set(data, function (err)
console.log("callback complete! ", err);
);
现在,如果您运行代码,您将看到“回调完成!”在控制台中,您只会看到“错误”(如果它确实存在)。
【讨论】:
以上是关于Firebase“设置”完成回调未触发的主要内容,如果未能解决你的问题,请参考以下文章
Firebase 云消息传递 onMessageReceived 未触发
XCode 未找到 Firebase v2.1.2(未找到框架错误)
使用 Kotlin 和 Firebase 通过 onAuthStateChanged 回调触发 sendEmailVerification