//收集依赖/收集订阅者
class Dep{
constructor(){
//sub数组,用来存放所有订阅者的信息
this.subs = []
}
//添加订阅者信息
addSub(watcher){
this.subs.push(watcher)
}
//发布通知的方法
notify(){
this.subs.forEach(watcher=>watcher.update())
}
}
// 订阅者的类
class Watcher{
constructor(cb){
this.cb = cb
}
update(){
this.cb
}
}
const w1 = new Watcher(()=>{
console.log("我是第一个订阅者")
})
const dep = new Dep()
dep.addSub(w1)
dep.notify()
本文介绍了观察者模式在JavaScript中的实现,通过创建`Dep`类来收集和通知订阅者`Watcher`更新。`Watcher`类负责调用回调函数进行更新操作。示例展示了如何添加订阅者并发布通知,从而触发订阅者的更新行为。
295

被折叠的 条评论
为什么被折叠?



