class EventEmitter {
constructor(){
this.events = new Map();
}
on(key, fn){
if (this.events.has(key)) {
this.events.get(key).push(fn)
}else {
this.events.set(key, [fn])
}
}
emit(key, ...args) {
if (this.events.has(key)) {
this.events.get(key).forEach(fn => {
fn(...args)
})
}
}
}
const eventSub = new EventEmitter();
eventSub.on('test', function(name){
console.log(name);
})
eventSub.on('test', function(name){
console.log(name + '111111');
})
eventSub.emit('test', 'chengwuchao')
EventEmitter 简单实现
最新推荐文章于 2021-11-13 23:08:21 发布
关键词由CSDN通过智能技术生成