这可能是最简单的发布订阅
/**
* 发布订阅模式
* 特点是:发布和订阅是可以单独执行的
* on 发布
* emit 订阅
*/
let events ={
_arr:[],
on(o){
this._arr.push(o)
},
emit(data){
this._arr.forEach(o=>o(data))
}
}
events.on(function(data){
console.log(data+'订阅之后,发布成功1')
})
events.on(function(data){
console.log(data+'订阅之后,发布成功2')
})
setTimeout(()=>{
events.emit('我')
},1000)