javascrip观察者模式(订阅者与发布者)的理解

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

什么是观察者模式?

观察者模式又叫做发订阅模式,它定义了一种一对多的关系,让多个观察者对象同时监听某一个主题对象,这个主题对象的状态发生改变时就会通知所有观察着对象。它是由两类对象组成,主题和观察者,主题负责发布事件,同时观察者通过订阅这些事件来观察该主体,发布者和订阅者是完全解藕,彼此不知道对方的存在,两者仅仅共享一个自定义事件的名称。

nodejs核心模块Event提供EventEmitter对象,也实现了分布式事件。如下代码:


Pub/Sub模式代码实现:


标准浏览器(除了IE8及以下) 自定义事件的实现:


IE8及以下浏览器的实现:


兼容多种浏览器的实现:

调用如下:

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容