何时在 Firebase 上启用离线功能调用完成块?

Posted

技术标签:

【中文标题】何时在 Firebase 上启用离线功能调用完成块?【英文标题】:When is the completion block called with offline functionality enabled on Firebase? 【发布时间】:2021-06-26 12:25:32 【问题描述】:

我将 Firebase 实时数据库用于我的应用程序。我启用了离线功能,允许在设备出现连接问题时将查询保存在设备上,以便在恢复时发送它们。 我想知道在这种情况下何时调用完成块。 如果错误不是网络错误,是否直接调用? 如果不是,是否在重新建立连接并发送请求后调用它? 我想了解更多关于这个过程的信息

感谢您的关注!

【问题讨论】:

您能否分享一些代码,然后解释您对查询的预期输出? 【参考方案1】:

一旦将写入提交到服务器,就会调用写入操作的完成处理程序。因此,当您处于离线状态时,它们不会被调用,然后如果您的网络已恢复并且写入已提交,则会调用任何仍注册的完成处理程序

不过,完成处理程序本身不会保存到离线的磁盘缓存中。因此,如果重新启动应用程序,将重试任何挂起的写入,但不会重新注册完成处理程序,因此在这种情况下不会被调用。

如果了解重启后的完成对您的用例很重要,请参阅:

Firebase synchronisation of locally-modified data: handling errors & global status How to know if the writes in Firebase are on the server or only cached?

【讨论】:

感谢您的回答!我会检查链接

以上是关于何时在 Firebase 上启用离线功能调用完成块?的主要内容,如果未能解决你的问题,请参考以下文章

离线设备上的 Firebase 云功能

如何启用 Firebase 实时数据库离线持久性?

如何离线存储 Firebase 分析数据超过 72 小时?

Firebase 存储离线功能

Firebase 离线支持:在用户离线时上传帖子,当用户在 iOS Swift 应用程序中在线时同步

为 Firebase 云功能启用 Cors