郵件訂閱 觀察者模式

2021-06-28 02:28:45 字數 525 閱讀 8102

var publisher = ,

// 新增訂閱這方法

subscribe:function(fn,type)

this.subscribers[type].push(fn);//如果已經存在了,就把訂閱觸發的方法加到訂閱陣列裡面

},// 刪除訂閱者

unsubscribe : function(fn,type),

// 出版 只有發布者才能出版

publish : function(publication,type),

//處理刪除或者出版的方法

visitsubscribers : function(action,arg,type){

var pubtype = type || 'any', //呼叫哪個訂閱者庫

subscribers = this.subscribers[pubtype],//

i,max = subscribers.length;

console.log(subscribers)

for(i=0;i

訂閱者模式(觀察者模式)

include include include struct notification virtual void process 0 class subscribera public notification class subscriberb public notification class p...

觀察者模式(訂閱模式)

定義物件間一種一對多的關係,使得每當乙個物件改變狀態,則所有依賴他的物件都會得到通知並被自動更新。使用場景 1 某些時候需要一些物件有所關聯,而且這種關聯是可以拆分而不是組合在一起的。2 某一事件發生,需要向多方觸發。3 訊息交換,如訊息佇列 事件匯流排的處理機制。1 subject 抽象主題,被觀...

觀察者模式和訂閱者模式

1 要有個存放訂閱的事件佇列 2 通過on去訂閱事件 3 emit去觸發事件 const fs require fs node的自帶模組 const path require path const resolve file console.log resolve age.txt let evento...