“firebase-admin”的返回值中不包含属性“apps”

问题描述

我正在尝试根据从“firebase-admin”返回的“apps”属性来决定是否需要不调用 initializeApp()。第一次尝试时它按预期工作,但后来无论我尝试多少次都开始出现此错误

错误

uncaughtException FirebaseAppError:认的 Firebase 应用已经 存在。这意味着您多次调用 initializeApp() 而没有 提供应用程序名称作为第二个参数。在大多数情况下,您只 需要调用 initializeApp() 一次。但是如果你确实想初始化 多个应用程序,将第二个参数传递给 initializeApp() 以给出每个 应用的唯一名称

代码

import * as firebase from 'firebase-admin';
console.log(firebase); // add this on second try
if (!firebase.apps.length) {
  firebase.initializeApp({
      credential: firebase.credential.cert(some config here),databaseURL: 'some url here',});
}

当我看到控制台时,输出如下:

FirebaseNamespace {
  __esModule: true,credential: {
    cert: [Function],refreshToken: [Function],applicationDefault: [Function]
  },SDK_VERSION: '9.5.0',Promise: [Function: Promise],INTERNAL: FirebaseNamespaceInternals { firebase_: [Circular],apps_: {} },default: [Circular]
}

没有像“应用程序”这样的属性。有谁知道为什么这个属性不存在?

更新:

我自己解决了这个问题。这是一个简单的错误

检查代码后,我发现另一个地方写了完全相同的逻辑。这个逻辑运行了第二次,所以第二次出现这个错误

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...