// 利用 js 实现一套发布订阅模式
class EventEmitter{
/** 订阅事件
* @params event: 事件类型
* @params fn: 触发回调
*/
on(event, fn){
}
// 取消订阅
off(event, fn){
}
// 发布
emit(event, ...args){
}
}
const evt= new EventEmitter()
function cb1 (content) {
console.log('callback 1 trigger', content);
}
function cb2 (content) {
console.log('callback 2 trigger', content);
}
function cb3 (content) {
console.log('callback 3 trigger', content);
};
const EVENT_1 = 'evt 1';
evt.on(EVENT_1, cb1);
evt.on(EVENT_1, cb2);
evt.on(EVENT_1, cb3);
evt.emit(EVENT_1, '发布-订阅模式');
evt.off(EVENT_1, cb2)
evt.emit(EVENT_1, '发布-订阅模式');
console