首页 文章

并发,离线持久性和get()

提问于
浏览
2

我对理论情况以及Firestore JS SDK如何处理它有疑问 .

设置是:

  • 我们启用了离线持久性 .

  • 我们离线了

  • 我们需要在上线后立即从集合A中 get() .

我会夸大数字,以使情况更容易掌握 .

Steps

  • 离线时,我们将1000000个文档添加到集合A.

  • 我们回到网上,假设Firestore开始将集合A中的本地数据同步到服务器,这需要一段时间 .

  • 我们从集合A执行 get() ,而Firestore可能尚未完成同步 .

怎么了?这里的假设是,当Firestore检测到我们再次在线时,它会尝试从在线数据库中找到收集A中的文档,因此可能错过了仍在同步的一些文档 . 第2步 .

Firebase工程师可以澄清在这种情况下会发生什么吗?

1 回答

  • 2

    本地客户端将始终看到自己的更改 . 因此,即使您处于离线状态,它也会在集合中看到您在本地所做的更改 . 当你重新上线时,它也会看到它在本地发生的变化,无论这些变化是否已经同步到服务器 .

相关问题