在Node.js的对,我们有标准的事件发射器:的Node.js - 听时听众注册
const EE = require('events');
const ee = new EE();
ee.on('x', function(){
});
什么,我想要做的,就是听一听当一个客户端注册的监听器。目的是如果排放者处于特定状态,它将在注册时采取行动。
要清楚,在调用ee.on()
时,对于特定事件'x',我想采取一些行动。
如何在不修补Node.js中的所有事件发射器的情况下执行此操作?
如果我做了以下工作,我修补了原型方法或实例方法吗?
let on = ee.on;
ee.on = function(){
if(ee.y === true){
process.next(function(){
ee.emit('done');
});
}
return on.apply(ee, arguments);
};
这当然是一样的:
let on = ee.on;
ee.on = function(){
if(this.y === true){
process.next(() => {
this.emit('done');
});
}
return on.apply(this, arguments);
};
我认为这会工作,但我不知道。我认为这将只影响这一个特定事件发射器,不是所有的事件发射器,因为它不会改变原型...
谢谢,您能不能告诉与代码的例子吗? –
@AlexanderMills检查上面的编辑。清除还是需要更多输入? –