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 存储完成处理程序

Firebase 云消息传递 onMessageReceived 未触发

XCode 未找到 Firebase v2.1.2(未找到框架错误)

未收到 Flutter FCM IOS 静默(仅数据)通知

使用 Kotlin 和 Firebase 通过 onAuthStateChanged 回调触发 sendEmailVerification

使用 Stripe Firebase 扩展 Webhook 运行订阅付款未触发