function EventEmitter(){
this.events ={};
}
EventEmitter.prototype.on=function(eventName,callback){
if(eventName != 'newListener '){
if(this.events['newListener']){
this.events['newListener'].forEach(fn=>fn(eventName))
}
}
if(!this.events[eventName]){
this.events[eventName]=[callback]
}else{
this.events[eventName].push(callback)
}
}
EventEmitter.prototype.emit=function(eventName,...args){
if(!this..events[eventName])return;
this.events[eventName].forEach(fn=>fn.call(this,...args))
}
EventEmitter.prototype.off=function (eventName,callback){
this.events[eventName] = this.events[eventName].filter(item=>item!=callback&&item.l!=callback)
}
EventEmitter.prototype.once=function (eventName,callback){
function a(){
callback();
this.off(eventName,a.l)
}
a.l= callback;
this.on(eventName,a);
}
发布订阅;
最新推荐文章于 2021-09-22 23:39:18 发布