将node.js与npm firebase一起使用.
var firebase = require('firebase');
var blahFirebase = new firebase('https://myfirebase.firebaseIO.com/blah');
blahFirebase.once('value', function (snapshot) {
//
});
Run Code Online (Sandbox Code Playgroud)
为什么节点在读完数据后不会退出?
小智 16
在新的Firebase API中,您应该使用firebase.app.App.delete()释放其持有的资源.例如:
var app = firebase.initializeApp({ ... });
var db = firebase.database();
// Do something
app.delete(); // Release resources
Run Code Online (Sandbox Code Playgroud)
不要使用,process.exit()因为它会停止整个过程(这不是你通常想要的).
Kat*_*ato 10
更新
请注意,这不再适用.使用once()时,Node.js将不再挂起,但只要有活跃的侦听器订阅远程服务器,它就会保持打开状态.
原版的
Firebase进程打开服务器的套接字,并为这些连接上的传入数据建立侦听器.就像节点Web服务器一样,等待传入的HTTP连接,这会使进程保持打开状态.
要结束该过程,您可以简单地从回调内部利用process.exit():
blahFirebase.once('value', function (snapshot) {
//
process.exit();
});
Run Code Online (Sandbox Code Playgroud)
我的情况是使用firebase管理员,
const admin = require('firebase-admin');
Run Code Online (Sandbox Code Playgroud)
我可以通过结束节点进程
return admin.app().delete();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4848 次 |
| 最近记录: |