36

大约四分之三的加载页面我从firestore客户端SDK(web)收到这个错误。这大大减慢了开发速度。身份验证、实时数据库和存储工作得很好。

Failed to get document because the client is offline.

错误

对此我能做些什么吗?

4

14 回答 14

12

当前,客户端和后端路由之间存在交互,导致此问题。结果,客户端认为网络出现故障并脱机。

我们将很快推出解决方案。我不能保证确切的时间,但这是我们要解决的首要问题之一。

谢谢你的耐心。

于 2017-10-06T15:52:41.563 回答
9

我更新了我所有的包,我遇到了这个问题。
我为我的 Web 应用程序启用了离线持久性并解决了问题:

firebase.firestore().enablePersistence()

https://firebase.google.com/docs/firestore/manage-data/enable-offline

于 2020-06-05T06:05:55.247 回答
5

对我来说,同样的错误发生在

  1. project_id 错误
  2. 模拟器的端口是 8081 而不是 8080。(当端口是 8081 时,模拟器运行良好,UI 正常打开等等,但错误一直显示。我通过将端口更改回 8080 解决了这个问题)

该错误消息非常具有误导性。

于 2020-09-21T11:25:28.687 回答
3

我刚刚花了大约 3 个小时试图修复它。我的模拟器有问题。我不得不删除它,然后创建新的,现在它正在工作。因此,如果您遇到此问题,请尝试一下。

于 2020-03-23T15:06:31.603 回答
2

可能会出现问题,因为您在 React Native(RN CLI 不是 Expo)应用程序中集成了 firebase 'web' SDK。因此,为了在您的 react native 应用程序中使用 firebase,您必须遵循本教程:https ://rnfirebase.io/

它必须工作。

于 2020-10-19T14:44:27.227 回答
1

对我来说,只需重新启动模拟器即可修复它。

于 2021-01-15T00:14:43.210 回答
1

在我的应用程序中,安装后第一次运行时也会出现此错误。通过刷新/重新启动活动,我能够摆脱上述错误。

if (e.getMessage().equals("Failed to get document because the client is offline.")){
     finish();
     startActivity(getIntent());
}

此代码必须放在addOnFailureListener.

于 2021-05-26T17:11:42.927 回答
0

我遇到了一些问题。但我刚刚修好了。检查您的 projectId 是否正确。当您使用 Cloud Firestore 时,您需要它。

export const environment = {
  production: false,
  firebaseConfig: {
    apiKey: 'XYZ',
    authDomain: 'XYZ.firebaseapp.com',
    databaseURL: 'https://XYZ.firebaseio.com',
    storageBucket: 'XYZ.appspot.com',
    projectId: 'XYZ' // <--- make sure project ID is here 
  }
};
于 2017-10-06T15:36:46.297 回答
0

对我来说,启用({ synchronizeTabs: true } )似乎有所帮助。

于 2020-07-21T05:16:46.810 回答
0

万一有人在网络上遇到这个问题(服务器端代码),只需尝试重新启动服务器并再次ping连接到firebase. 这对我有用!

于 2021-07-09T05:18:29.580 回答
0

就我而言,我使用的是 Chrome Extension Moesif CORS。我禁用了扩展程序并且它起作用了。

于 2021-08-19T16:44:41.620 回答
0

在我的情况下,我遇到了这个问题以及一个警告,我应该更改我的数据库位置,因为它位于不同的区域。
我在 firebaseconfig 中使用我的 dsatabase 的 url 添加了一个 databaseURL 属性,之后它就可以正常工作了。

于 2021-11-23T08:00:29.633 回答
0

我的问题是我之前使用 测试了我的应用程序,firebase-local-emulator因此仍然启用了一些配置,例如:

Firebase.firestore.apply {
    if (DomainConstants.isOnTest) useEmulator("10.0.2.2", 8080)
}

因为我忘了设置isOnTest = false,所以应用程序依赖firebase-local-emulators数据(没有运行)并抛出client is offline error.

长话短说:检查您是否使用配置项目firebase-local-emulator并在您想要使用“真实”数据库时将其关闭

于 2021-12-11T22:21:36.733 回答
-5

尝试使用VPN,它会工作!我切换到 VPN,它工作 100%。有时 Firebase 无法响应某些国家/地区的 IP 地址。

于 2020-10-28T00:07:29.200 回答