var bus = {
list: [],
//订阅
subscribe(callback) {
this.list.push(callback)
},
//发布
publish(text) {
console.log('打印所有订阅者的方法:' + this.list)
console.log('打印发布者的发布的数据:' + text)
//遍历所有的list,将回调函数执行
this.list.forEach((item) => {
item && item(text)
})
},
}
//订阅者
bus.subscribe((callback) => {
console.log('接收发布者的数据:', callback)
})
//发布者
setTimeout(() => {
bus.publish('我发了一句话')
}, 0)
必须在发布之前订阅,否则订阅者接收不到数据