发布-订阅元素缓存队列,存储订阅者信息,具有增删订阅能力状态变化时通知所有订阅者进行监听classPubSub{constructor(){this._events={};}//注册subScribe(event,cb){if(this._events[event]){//如果当前事件存在,那么我们只需要添加当前的This._events[event].push(cb);}else{//这个事件在this之前没有被订阅过。_events[event]=[cb];}}//发布publish(event,...args){constitems=this._events[event];if(items&&items.length){items.forEach(function(cb){cb.call(this,...args);});}}}letps=newPubSub();ps.subScribe("event1",()=>{console.log("event1do");});ps.subScribe("event1",()=>{console.log("event1do-----");});ps.publish("event1");ps.publish("event1");
