const EventBus = {
queue: {},
on (eventName, cb) {
this.queue[eventName] = this.queue[eventName] || [];
this.queue[eventName].push(cb);
},
one (eventName, cb) {
this.queue[eventName] = cb;
},
emit (eventName, ...arg) {
const cbs = this.queue[eventName];
for (const cb of cbs) {
cb.apply(null, arg)
}
},
off (eventName) {
this.queue[eventName] = [];
},
}
网友评论