我对理论情况以及Firestore JS SDK如何处理它有疑问 .
设置是:
-
我们启用了离线持久性 .
-
我们离线了
-
我们需要在上线后立即从集合A中
get()
.
我会夸大数字,以使情况更容易掌握 .
Steps
-
离线时,我们将1000000个文档添加到集合A.
-
我们回到网上,假设Firestore开始将集合A中的本地数据同步到服务器,这需要一段时间 .
-
我们从集合A执行
get()
,而Firestore可能尚未完成同步 .
怎么了?这里的假设是,当Firestore检测到我们再次在线时,它会尝试从在线数据库中找到收集A中的文档,因此可能错过了仍在同步的一些文档 . 第2步 .
Firebase工程师可以澄清在这种情况下会发生什么吗?
1 回答
本地客户端将始终看到自己的更改 . 因此,即使您处于离线状态,它也会在集合中看到您在本地所做的更改 . 当你重新上线时,它也会看到它在本地发生的变化,无论这些变化是否已经同步到服务器 .