发布订阅者模式:订阅者(subscriber)把自己想订阅的事件注册在调度中心(event channel),当发布者(publisher)发布事件到调度中心,也就是事件触发时,由调度中心统一调度订阅者注册到调度中心的代码。
// 调度中心
let e = {
// 存订阅者
_callback: [],
// 订阅
on(callback){
this._callback.push(callback)
},
// 发布
emit(value){
this._callback.forEach(method => {
method(value)
})
}
}
e.on(function(value){
console.log('张三订阅'+value);
})
e.on(function(value){
console.log('李四订阅'+value);
})
e.emit('人民日报')
e.emit('新闻联播')