订阅/发布者模式
订阅发布模式:一对多的关系,让多个观察者同时监听某一个主题对象,这个主题对象的状态发生改变时就会通知所有观察者对象,中间通过一个调度中心来发布通知
function Dep(){
this.subs = [];
}
Dep.prototype.addSub = function(sub){
this.subs.push(sub);
}
Dep.prototype.notify = function(){
this.subs.forEach(sub => sub.update())
}
function load1 (){}
load1.prototype.update = function(){
console.log('load1')
}
function load2 (){}
load2.prototype.update = function(){
console.log('load2')
}
var dep = new Dep();
var watcher1 = new load1()
var watcher2 = new load2()
dep.addSub(watcher1)
dep.addSub(watcher2)
dep.notify();
// https://www.cnblogs.com/suyuanli/p/9655699.html
class Event{
constructor(){
handlers = {};
}
on(type, handler){
if (!(type in this.handlers)) {
this.handlers[type] = [];
}
th