@firebase/firestore:Firestore (5.0.4):无法访问 Cloud Firestore 后端。后端在 10 秒内没有响应

Posted

技术标签:

【中文标题】@firebase/firestore:Firestore (5.0.4):无法访问 Cloud Firestore 后端。后端在 10 秒内没有响应【英文标题】:@firebase/firestore: Firestore (5.0.4): Could not reach Cloud Firestore backend. Backend didn't respond within 10 seconds 【发布时间】:2018-11-13 10:17:46 【问题描述】:

我正在开发一个 Angular 6 项目。这是我使用--prod 构建时遇到的错误 标记,托管并运行。 我已经坐这个很久了。最初认为这可能是firestore包的问题,​​我等了。 但是现在更新到firestore 5.0.4,问题依旧存在。

[2018-06-04T06:11:47.859Z] 。

这通常表示您的设备目前没有健康的互联网连接。客户端将在离线模式下运行,直到能够成功连接到后端。

app.module.ts

Imports: [
    AngularFireModule.initializeApp(environment.firebaseConfig),
    AngularFirestoreModule
]

app.component.ts

constructor(public afAuth: AngularFireAuth,
          private afs: AngularFirestore,
          private db: AngularFireDatabase) 
    this._currentUser = this.afAuth.authState
      .pipe(
        switchMap((user: any) => 
           if (user) 
            console.log(user);
            return this.afs.collection('users').doc<User>(user.uid).valueChanges();
            else 
             return Observable.create(null);
           
        )
      );

仅供参考:身份验证仍然有效。

依赖 火力基地 5.0.4 angularfire2 5.0.0-rc.10

【问题讨论】:

在 Github 中有一个未解决的 issue github.com/firebase/firebase-js-sdk/issues/901 【参考方案1】:

您应该在 Firebase 控制台中启用 Firestore。执行以下步骤:

    打开Firebase Console,打开或新建项目。

    数据库 部分,点击 Cloud 的 Get Started 按钮 Firestore.

    选择您的 Cloud Firestore 安全规则的启动模式:测试模式锁定模式

    点击启用。

Cloud Firestore 和 App Engine:您不能在同一个项目中同时使用 Cloud Firestore 和 Cloud Datastore,这可能会影响使用 App Engine 的应用。尝试将 Cloud Firestore 与其他项目一起使用。 创建 Cloud Firestore 项目时,它还会启用 Cloud API Manager 中的 API。

【讨论】:

你是我的救星。谢谢。这对我有帮助。 我会试试这个,我在同一个项目中有 RTDB 和 firestore【参考方案2】:

我的 Kaspersky 防病毒软件AdBlock Chrome 插件

出现问题

可能的问题:

网速慢 防病毒/防火墙相关问题(阻塞) AdBlocker 问题(也被阻止)

【讨论】:

谢谢。卡巴斯基正在为我屏蔽火库。禁用卡巴斯基后,问题得到解决。在存在相同问题的 4 个运行卡巴斯基的桌面上进行了测试。 感谢防病毒/防火墙相关问题(阻塞)【参考方案3】:

这可能会有所帮助:)

仅导入 AngularFirestoreModule,即使您正在使用其他模块,例如 AngularFireStorageAngularFireDatabase

不知道为什么,但我在许多项目中都使用过这种方法,没有任何问题;)

// Angular Fire Modules in my projects using auth, firestore, realtime db, & storage

AngularFireModule.initializeApp(environment.firebaseConfig),
AngularFireAuthModule,
AngularFirestoreModule,

【讨论】:

【参考方案4】:

我在开发和生产中都随机得到了这个,这为我解决了这个问题。 将此设置为真: https://firebase.google.com/docs/reference/js/firebase.firestore.Settings#optional-experimentalautodetectlongpolling

您至少需要 7.24.0 版的 JS SDK。

https://firebase.google.com/support/release-notes/js#cloud-firestore_13

以下是使用 AngularFire 的方法: 在 app.module.ts(或其他导入 AngularFire 的模块)中。

 providers: [
     provide: FirestoreSettingsToken, useValue:  experimentalAutoDetectLongPolling: true  

【讨论】:

【参考方案5】:

就我而言,我只是将专用网络更改为公共网络

打开设置窗口设置 点击网络和共享或检查您的网络是否私人更改为公共可能会解决您的问题

windows 10 network and sharing

【讨论】:

虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review

以上是关于@firebase/firestore:Firestore (5.0.4):无法访问 Cloud Firestore 后端。后端在 10 秒内没有响应的主要内容,如果未能解决你的问题,请参考以下文章

@firebase/firestore:Firestore (8.6.5):无法访问 Cloud Firestore 后端

无法在firebase.firestore.CollectionReference中使用Array firebase.firestore.Query为什么?

(firebase.firestore 不是函数)尝试在 Firestore 中创建集合时

Firestore 配置 - Firebase

忽略 firebase.firestore.timestamp

@firebase/firestore:Firestore (8.6.2):无法访问 Cloud Firestore 后端(React Js)