![](/img/trans.png)
[英]How do I use Google APIs as a specific user server-side? Node.js
[英]How do I Implement a Node.Js server-side event listener for Firebase?
我正在尝试使用firebase的Node包监听我的firebase中的数据更改。 我正在使用on()方法,它应该不停地监听更改(而不是只侦听特定事件的第一次出现的once()方法)我在服务器上的listener.js文件就像这个:
var Firebase=require('firebase');
var Ref= new Firebase('https://mydatabase.firebaseio.com/users/');
Ref.on('child_changed',function(childsnapshot,prevchildname){
Ref.child(childsnapshot.key()).push("I hear you!");
} ) ;
但它仅适用于第一次出现并在第二次出现后抛出致命的内存错误。
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - process out of memory
我对服务器端编程很新,不知道该怎么做。 我必须遗漏一些重要的东西。 我应该首先使用节点设置特殊服务器设置吗? 或者每隔一秒左右创建一个使用once()方法运行脚本的守护进程?
我很确定你在这里创造了一个无限循环:
https://mydatabase.firebaseio.com/users/
on('child_changed'
事件在你的脚本中触发 它也会很快发生,因为Firebase客户端会立即发起本地事件。
看起来你正在尝试创建一个聊天机器人。 这意味着您更有可能想要创建兄弟消息:
var Firebase=require('firebase');
var ref= new Firebase('https://mydatabase.firebaseio.com/users/');
ref.on('child_changed',function(childsnapshot,prevchildname){
ref.push("I hear you!");
}) ;
请注意,使用StackOverflow调试代码效率非常低。 由于您似乎在Windows上,我建议安装Visual Studio及其节点工具。 他们有一个很棒的调试器,可以让你逐步完成代码。 在回调中设置断点(所以在ref.push
行中)将快速显示出现了什么问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.