javascript - 在 Node.js 中监听所有发出的事件

标签 javascript json events node.js

在 Node.js 中有什么方法可以监听 EventEmitter 对象发出的所有事件?

例如,你能做类似...的事情吗?

event_emitter.on('',function(event[, arg1][, arg2]...) {}

我的想法是我想抓取服务器端 EventEmitter 吐出的所有事件,JSON.stringify 事件数据,通过 websockets 连接发送,在客户端将它们作为事件进行改造,然后在客户端对事件进行操作。

最佳答案

我知道这有点老了,但到底是什么,这是您可以采取的另一种解决方案。

您可以轻松地对要捕获所有事件的发射器的发射功能进行猴子修补:

function patchEmitter(emitter, websocket) {
  var oldEmit = emitter.emit;

  emitter.emit = function() {
      var emitArgs = arguments;
      // serialize arguments in some way.
      ...
      // send them through the websocket received as a parameter
      ...
      oldEmit.apply(emitter, arguments);
  }
}

这是非常简单的代码,应该适用于任何发射器。

关于javascript - 在 Node.js 中监听所有发出的事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5178869/

相关文章:

javascript - 如何使用 vue-test-utils 和 jest 在单元测试期间模拟 Vue Mixins?

javascript - 如何在 Angular 中包含 JavaScript 脚本文件并从该脚本调用函数?

events - 有没有办法在 Angular 2 中简洁地绑定(bind)多个事件?

jquery 1.8 触发器

javascript - 为什么 webview 报告不同的屏幕尺寸,我可以禁用它吗

javascript - Web Audio API 的 AnalyserNode 替代 Node.js

java - JSON 对象无法获取字符串

javascript - 如何突出显示 ChartJS 中的特定数据点,其中我的数据来自 json 数组?

android - 从 wordpress WP-REST API 获取图片 URL

c# - 用户控件的显示/显示事件