javascrip觀察者模式(訂閱者與發布者)的理解

轉:https://juejin.im/entry/580b5553570c350068e6c2d6

什么是觀察者模式?

觀察者模式又叫做發訂閱模式,它定義了一種一對多的關系,讓多個觀察者對象同時監聽某一個主題對象,這個主題對象的狀態發生改變時就會通知所有觀察著對象。它是由兩類對象組成,主題和觀察者,主題負責發布事件,同時觀察者通過訂閱這些事件來觀察該主體,發布者和訂閱者是完全解藕,彼此不知道對方的存在,兩者僅僅共享一個自定義事件的名稱。

nodejs核心模塊Event提供EventEmitter對象,也實現了分布式事件。如下代碼:


Pub/Sub模式代碼實現:


標準瀏覽器(除了IE8及以下) 自定義事件的實現:


IE8及以下瀏覽器的實現:


兼容多種瀏覽器的實現:

調用如下:

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容