javascript - 并发、离线持久化和 get()

标签 javascript firebase google-cloud-firestore

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

设置是:

  • 我们启用了离线持久性。
  • 我们离线
  • 我们需要在上线后立即从集合 A 中get()

我会夸大数字以使情况更容易理解。

步骤

  1. 离线时,我们向集合 A 添加 1000000 个文档。
  2. 我们重新上线,假设 Firestore 开始将本地数据从集合 A 同步到服务器,这需要一段时间。
  3. 我们从集合 A 中执行 get(),而 Firestore 可能尚未完成同步。

会发生什么?这里的假设是,当 Firestore 检测到我们再次在线时,它会尝试从在线数据库中找到的集合 A 中获取文档,因此可能会错过一些仍在同步的文档步骤 2。

Firebase 工程师能否澄清在这种情况下会发生什么?

最佳答案

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

关于javascript - 并发、离线持久化和 get(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47533770/

相关文章:

em 中的 Javascript : getting the display width of text string in a pre container,

JavaScript - 类在条件下扩展

javascript - 如何从 Firebase 数据库检索单个 JSON 值?

android - 显示以下用户在 React Native 和 Firebase 中的帖子

firebase - 基于 map 值的 Firestore 安全规则

javascript - 使用正则表达式检查复选框

javascript - 在 jQuery 中将 2 个函数合并为一个

ios - 使用 FirebaseApp.configure 时无法找到配置文件 GoogleService-Info.plist(选项 :)

angular - 将数据添加到 Firebase Cloud Firestore 和 Angular

firebase - 从 firebase 获取数据到 flutter