订阅发布模式 简单的理解就像是微信公众号
定时会给他的订阅者 发布相同内容
//做一个 简单的发布订阅模式
//注意: 一定是 先订阅后发布
let bus = {
list: [],
//订阅
subscribe(callback) {
// console.log(callback);
this.list.push(callback)
},
//发布
publish(text) {
//遍历数组 将list中的回调函数 进行调用
// console.log(this.list);
this.list.forEach(callback => {
callback && callback(text)
})
}
}
//订阅者
bus.subscribe((val) => {
console.log(1, val);
})
bus.subscribe((val) => {
console.log(2, val);
})
//发布者
setTimeout(() => {
bus.publish('发布了1111')
}, 1000);
setTimeout(() => {
bus.publish('发布了1111')
}, 2000);
setTimeout(() => {
bus.publish('发布了1111')
}, 3000);