何时在 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 上启用离线功能调用完成块?的主要内容,如果未能解决你的问题,请参考以下文章