【问题标题】:Close Database Connection (Firebase+Node.js)关闭数据库连接 (Firebase+Node.js)
【发布时间】:2019-03-14 01:09:50
【问题描述】:

我目前正在研究 Node.jsfirebase,我目前遇到了一个问题,在将数据写入数据库后,我的程序没有在终端,有什么办法可以结束这个。

我想,也许我需要结束 firebase 连接,但我不知道该怎么做。

这是程序,

module.exports=
{
create_firebase_entry: function ()
  {
    console.log("Firebase Entry")
    return new Promise((resolve, reject) => {
      var secondaryAppConfig = 
      {
	credential: admin.credential.cert(serviceAccount),
	databaseURL: "firebase_databse_url"
      };
      
      if (admin.apps.length===0){secondary = admin.initializeApp(secondaryAppConfig, "secondary");}

      // Retrieve the database.
      var db = secondary.database();
      var ref = db.ref("data_records");
      var usersRef = ref.child("My_Data");
      
      usersRef.set({Data1:"Trail Data"})
    })
  }
}

【问题讨论】:

    标签: node.js firebase firebase-realtime-database


    【解决方案1】:

    脚本打开与 Firebase 实时数据库的连接,然后通过该连接执行异步读写操作。由于脚本无法知道您何时完成,因此您必须自己发出信号。

    完成此操作(据我所知)最常见的方法是在完成后致电process.exit()。例如

    usersRef.set({Data1:"Trail Data"})
      .then(function() {
        process.exit(0);
      });
    

    另见

    【讨论】:

      【解决方案2】:

      我同意 Frank,但我认为在 .finally() 块下使用 process.exit(0); 将提供更多保证。因为当错误发生时它永远不会关闭。

      usersRef.set({Data1:"Trail Data"})
        .then(result => {
          // ...
        })
        .catch(err => {
          // ...
        })
        .finally(() => {
          process.exit(0)
        })
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-03-05
        • 2013-09-23
        • 1970-01-01
        • 2022-06-10
        • 2016-11-08
        • 1970-01-01
        • 2011-10-19
        • 2013-10-16
        相关资源
        最近更新 更多