在 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/