【发布时间】:2020-06-26 13:01:54
【问题描述】:
我正在创建一个应用程序,其中所有 firebase 内容都由 nodeJs express 应用程序处理。
我希望应用通过 API 调用来监听实时值变化。 但问题是向快递服务器发出的 POST 请求只有 3-4 分钟的超时时间,之后请求才会终止。因此,如果数据库中有任何更改触发侦听器,那么我如何让我的应用程序侦听这些更改并将响应发送回客户端(谁发出 API 请求)。
这里是 express server 应用的示例代码 sn-p
router.post('/listen', (req, res) => {
//listen to the changes in database
var ref = db.ref("message").child("new_message_available");
ref.on('value', snap => {
var data = snap.val();
if (data) {
console.log('New message available')
res.send({
'message' : "new message available"
});
}
else {
console.log('No new message available')
}
});
});
这里是演示 firebase 实时数据库结构
{
'message': {
'new_message_available': true
}
}
由于 POST 请求只存在 3-4 分钟,并且可以随时对数据库进行更改,因此如何监听这些更改并发送回响应。
【问题讨论】:
标签: javascript node.js firebase firebase-realtime-database