【问题标题】:Can I catch this Firestore message in JavaScript?我可以在 JavaScript 中捕获此 Firestore 消息吗?
【发布时间】:2020-08-18 21:03:27
【问题描述】:

我现在看到很多网络问题。在 JavaScript 控制台中,我看到这条消息:

@firebase/firestore:Firestore (7.14.2):无法访问 Cloud Firestore 后端。后端在 10 秒内没有响应。 这通常表明您的设备目前没有健康的互联网连接。客户端将在离线模式下运行,直到能够成功连接到后端。

我能以某种方式捕捉到它并将其展示给用户吗?


编辑: 一个澄清。当 Web 浏览器处于脱机状态时,此消息不是问题。在这种情况下,一切都按我的预期工作。我的代码中有这个:

await firebase.firestore().enablePersistence({ synchronizeTabs: true })

但是,当 navigator.onLine === true 但无法访问 Firestore 时,我首先会看到上面的控制台消息。之后我收到一个错误:

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

这条消息是错误的。浏览器未离线。 “离线”的是 Firebase(从浏览器的角度来看)。

我当然可以解码该消息并为用户提供正确的信息,但我宁愿有一个官方的方式来处理这个。

【问题讨论】:

    标签: javascript firebase error-handling google-cloud-firestore


    【解决方案1】:

    这不是错误,这是通知。它不能被抓住。它告诉您 Firestore SDK 发现很难访问 Firestore 服务,并且在解决之前只会使用缓存。离线不是错误情况,因为 Firestore SDK 是为正常情况下临时离线使用而构建的。

    您可能想read more about how the Firestore cache works

    【讨论】:

    • 谢谢,是的,我想我已经完成了。嗯,也许我不必在意这个。但。能抓住这个就好了。也许吧。
    • 您可以随时向 Firebase 支持提出功能请求。 support.google.com/firebase/contact/support
    • 我已经更新了这个问题并进行了一些澄清。并将发送一个链接到此支持。
    猜你喜欢
    • 2011-04-19
    • 1970-01-01
    • 1970-01-01
    • 2016-03-25
    • 2021-06-18
    • 2022-01-17
    • 2011-09-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多