节点进程不会在firebase之后退出一次

在npm firebase中使用node.js。

var firebase = require('firebase'); var blahFirebase = new firebase('https://myfirebase.firebaseIO.com/blah'); blahFirebase.once('value', function (snapshot) { // }); 

为什么读完数据后节点不能退出?

更新

请注意,这不再适用。 当使用once()时,Node.js将不会挂起,只要存在活动的侦听器订阅到远程服务器,它将保持打开状态。

原版的

Firebase进程向服务器打开套接字,并为这些连接上的传入数据build立侦听器。 就像一个节点的networking服务器,等待传入的HTTP连接,这个过程保持打开状态。

要结束这个过程,你可以简单地在callback中使用process.exit():

 blahFirebase.once('value', function (snapshot) { // process.exit(); }); 

在新的Firebase API中,您应该使用firebase.app.App.delete()来释放其持有的资源。 例如:

 var app = firebase.initializeApp({ ... }); var db = firebase.database(); // Do something app.delete(); // Release resources 

不要使用process.exit()因为它会停止整个过程(这不是你通常想要的)。

我的情况是使用firebasepipe理员,

 const admin = require('firebase-admin'); 

我可以通过结束节点进程

 return admin.app().delete();