在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檢查上面的編輯。清除還是需要更多輸入? –