如何为Firebase实现Node.Js服务器端事件侦听器?

莳萝

我正在尝试使用Firebase的Node包监听Firebase中的数据更改。我正在使用on()方法,该方法应该不停地侦听更改(与仅侦听第一次发生的特定事件的after()方法相反),服务器上的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

我对服务器端编程非常陌生,不知道该怎么做。我一定错过了一些重要的东西。我是否应该首先使用节点设置特殊服务器设置?还是使守护进程每隔一秒钟左右用一次after()方法运行脚本?

弗兰克·范普菲伦

我很确定您在这里创建了一个无限循环:

  1. 您将值推向 https://mydatabase.firebaseio.com/users/
  2. on('child_changed'事件在您的脚本中触发
  3. 您的脚本将新子项推入值以下
  4. 所以我们回到步骤2并重复

由于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),将迅速向您显示出了问题所在。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

具有负载平衡功能的服务器端Firebase侦听器

来自分类Dev

使用node.js实现服务器端

来自分类Dev

使用 SignalR 实现服务器端事件

来自分类Dev

如何订阅事件流-服务器端

来自分类Dev

如何停止调用服务器端事件

来自分类Dev

如何订阅事件流-服务器端

来自分类Dev

服务器端模板的node.js

来自分类Dev

Node.js服务器端调试

来自分类Dev

在服务器端使用Node JS解析HTML

来自分类Dev

Node.JS:从服务器端内存vs服务器端文件提供文件

来自分类Dev

如何从应用程序的服务器端向浏览器JavaScript发送事件?

来自分类Dev

如何为gRPC启用服务器端SSL?

来自分类Dev

如何使用node.js从服务器端刷新浏览器?

来自分类Dev

如何设置websocket服务器侦听器?

来自分类Dev

如何触发对服务器的侦听器

来自分类Dev

如何实现服务器端SMTP STARTTLS?

来自分类Dev

如何实现jqGrid树的服务器端排序?

来自分类Dev

从服务器端在客户端获取变量(express.js,node.js)

来自分类Dev

Node.js服务器端应用程序启动器

来自分类Dev

在node.js中从服务器端调用客户端函数

来自分类Dev

Node.js - 从服务器端还是客户端获取?

来自分类Dev

如何使用棘轮响应HTML5服务器端事件?

来自分类Dev

在blazor服务器端关闭页面时如何获取事件?

来自分类Dev

如何在iOS上收听Facebook实时评论的服务器端事件

来自分类Dev

带有Parse的Android应用程序-如何响应服务器端的事件

来自分类Dev

如何从 Akka 中的 EventStream 创建服务器端事件?

来自分类Dev

如何使用Node.js从服务器端的AJAX POST函数接收数据?

来自分类Dev

如何设计每天在服务器端的node.js中执行的常规作业?

来自分类Dev

Node.js:如何在服务器端打开图像窗口?

Related 相关文章

  1. 1

    具有负载平衡功能的服务器端Firebase侦听器

  2. 2

    使用node.js实现服务器端

  3. 3

    使用 SignalR 实现服务器端事件

  4. 4

    如何订阅事件流-服务器端

  5. 5

    如何停止调用服务器端事件

  6. 6

    如何订阅事件流-服务器端

  7. 7

    服务器端模板的node.js

  8. 8

    Node.js服务器端调试

  9. 9

    在服务器端使用Node JS解析HTML

  10. 10

    Node.JS:从服务器端内存vs服务器端文件提供文件

  11. 11

    如何从应用程序的服务器端向浏览器JavaScript发送事件?

  12. 12

    如何为gRPC启用服务器端SSL?

  13. 13

    如何使用node.js从服务器端刷新浏览器?

  14. 14

    如何设置websocket服务器侦听器?

  15. 15

    如何触发对服务器的侦听器

  16. 16

    如何实现服务器端SMTP STARTTLS?

  17. 17

    如何实现jqGrid树的服务器端排序?

  18. 18

    从服务器端在客户端获取变量(express.js,node.js)

  19. 19

    Node.js服务器端应用程序启动器

  20. 20

    在node.js中从服务器端调用客户端函数

  21. 21

    Node.js - 从服务器端还是客户端获取?

  22. 22

    如何使用棘轮响应HTML5服务器端事件?

  23. 23

    在blazor服务器端关闭页面时如何获取事件?

  24. 24

    如何在iOS上收听Facebook实时评论的服务器端事件

  25. 25

    带有Parse的Android应用程序-如何响应服务器端的事件

  26. 26

    如何从 Akka 中的 EventStream 创建服务器端事件?

  27. 27

    如何使用Node.js从服务器端的AJAX POST函数接收数据?

  28. 28

    如何设计每天在服务器端的node.js中执行的常规作业?

  29. 29

    Node.js:如何在服务器端打开图像窗口?

热门标签

归档