当离线客户端重新联机时,Firebase不会完全同步

时间:2015-03-08 14:45:54

标签: firebase reactjs

当在线客户端(桌面)和离线客户端(电话)都输入数据,并且手机重新联机时,手机在离线期间不会收到桌面上发布的数据。

要复制,请在空目录中运行firebase bootstrap,输入app的名称,然后选择react模板。然后执行firebase deployfirebase open访问桌面浏览器中的页面。然后在手机浏览器中访问同一页面。

开始在桌面和手机浏览器的React + Plain Firebase窗格中交替输入数据。在桌面上输入“1”,在手机上输入“2”,在桌面上输入“3”等。到目前为止,系列会在预期的两个浏览器上显示1 2 3。然后将手机置于飞行模式并继续交替输入数字。现在桌面只显示正在添加的奇数,而手机只显示偶数。这也是预期的。

现在将手机重新上线。手机会将其数据推送到firebase,偶数会显示在桌面上(尽管奇怪的是React + Plain Firebase窗格和React + ReactFire窗格中的顺序不同。

但是,在重新加载应用程序之前,奇怪的数字不会显示在手机上。这是预期的吗?有没有办法在客户端上线时强制完成重新同步?

更新:我在firebase离线使用中遇到的其他问题一直是检测存在,用户身份验证或其他更复杂的情况。我的情况比较简单。文档说:

  

重新建立连接后,我们将收到适当的事件集,以便客户端“赶上”当前的服务器状态,而无需编写任何自定义代码。

对我而言,这意味着同步应该“正常工作”而无需应用程序“知道”它是否在线或在线上时做了什么特别的事情。

我还假设firebase离线数据存储是持久的,但Kato最近对this question的评论表明它不是。所以我想答案是Firebase的离线存储实施不完整,其局限性没有很好的记录。

0 个答案:

没有答案