var bus = {
list:[],
// 订阅者
subscribe(callback){
this.list.push(callback)
},
// 发布者
public(value){
this.list.forEach(callback=>{
callback && callback(value)
})
}
}
// 先 订阅把回调函数存入list中
bus.subscribe((value)=>{console.log(value);})
bus.subscribe((value)=>{console.log(value+"123");})
// 后 发布传递参数,并且从list中取出回调函数,执行回调函数
bus.public("发布者传递的数据")
setTimeout(()=>{
bus.public("发布者再发布一次")
},1000)
02-22
1595