【问题标题】:Firebase Realtime Database - "Error: Client is offline". React/NextJSFirebase 实时数据库 - “错误:客户端离线”。反应/NextJS
【发布时间】:2021-10-30 13:39:29
【问题描述】:

将 React 与 NextJS 结合使用时,从 Firebase 实时数据库中获取数据时偶尔会出现以下错误。

Unhandled Runtime Error
Error: Error: Client is offline.

我正在为 React 使用 Firebase 9.0.1

初始化和配置的顶级代码

import { initializeApp } from "firebase/app";
import { getDatabase, ref, onValue, child, get } from "firebase/database";
import CONFIG from '../CONFIG.json'


const FIREBASE_CONFIG = {
  apiKey: CONFIG['FIREBASE_API_KEY'],
  authDomain: CONFIG['FIREBASE_AUTH_DOMAIN'],
  databaseURL: CONFIG['FIREBASE_DATABASE_URL'],
  storageBucket: CONFIG['FIREBASE_STORAGE_BUCKET']

}
const fbApp = initializeApp(FIREBASE_CONFIG)

然后获取数据

export default function Leads() {
  ...

  useEffect(() => {
    const database = getDatabase(fbApp)
    const ads = ref(database, 'ad_results')

    get(ads).then((snap) => {
      const results = snap.val()
      ...

我曾尝试搜索类似的问题,但无济于事,我们将不胜感激。

【问题讨论】:

    标签: javascript reactjs firebase firebase-realtime-database next.js


    【解决方案1】:

    我的 Cloud Functions 遇到了同样的问题,这非常令人困惑。经过几个小时的调试,我发现实时数据库的.get() 方法导致了这个问题。我目前的解决方法是改用.once('value')

    所以我改变了我的代码:

    await database.ref(`foo/bar`).get();
    

    await database.ref(`foo/bar`).once('value');
    

    【讨论】:

      【解决方案2】:

      我正在使用firebase nodejs SDK,也面临同样的错误:“错误:错误:客户端离线。”偶尔。

      我已经尝试过 Nils Reichardt 发布的上述解决方案。它对我有用。

      谢谢尼尔斯!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-12-10
        • 2021-05-01
        • 2021-11-08
        • 2017-08-06
        • 1970-01-01
        • 2018-12-29
        • 2018-03-18
        • 1970-01-01
        相关资源
        最近更新 更多