class EventBus{
constructor(){
this.callback={};
}
emit(type){
let arg=arguments;
if(!this.callback[type]){
console.log('事件没有设置');
return;
}
this.callback[type].forEach( callbackFunciton=> {
callbackFunciton(...arg);
});
}
on(type,callback){
if(!this.callback[type]){
this.callback[type]=[];
}
this.callback[type].push(callback);
}
}
使用发布订阅模式实现
发布订阅模式的实现还是遇到比较多的,如果实现过promise就是then方法的实现中也用到了这种方法,写过promise.then方法对这个还是比较熟悉的。
参考:https://www.cnblogs.com/wisewrong/p/14768071.html