Firestore 不起作用似乎可以脱机工作



我正在尝试使用firestore创建一个渐进式Web应用程序。Web 应用在计算机联机时正常工作,但在脱机时不起作用。

我已经启用了Firestore离线持久性,如下所示-

firebase.firestore().settings({ timestampsInSnapshots: true });
firebase.firestore().enablePersistence().then(() => {
this.db = firebase.firestore();
});

如果我在计算机脱机时运行该应用程序,则会收到以下错误。

[2018-10-23T07:15:24.406Z]  @firebase/firestore: Firestore (5.5.0): Could not reach Cloud Firestore backend. Connection failed 1 times. Most recent error: FirebaseError: [code=unavailable]: The operation could not be completed
This typically indicates that your device does not have a healthy Internet connection at the moment. The client will operate in offline mode until it is able to successfully connect to the backend.

尝试从 firestore 数据库获取文档失败并显示错误

Uncaught (in promise) Error: Failed to get document because the client is offline.

我知道这两个错误在技术上都是正确的。但是,这些错误不应该因为我启用了脱机持久性而不应该发生吗?

获取离线数据:如果您在设备离线时获取文档, Cloud Firestore 从缓存中返回数据。如果缓存没有 包含该文档的数据,或者文档不存在, 获取调用返回错误。

查询脱机数据:查询使用脱机持久性。您可以 使用直接获取或按 侦听,如前面各节所述。您还可以创建 设备脱机时对本地持久化数据的新查询,但 查询最初将仅针对缓存的文档运行。

离线持久性并不意味着您的客户可以在没有互联网的情况下与 Firestore 通信,而是意味着例如,一旦互联网连接再次发生,他所做的更改就会提交到相关文档。

考虑缓存相关文件,以便用户在一定程度上使用 PWA 脱机。

有关离线使用它的更多信息

最新更新