JavaScript简单实现发布订阅模式
2018-02-07 10:21
716 查看
发布订阅模式主要涉及三个对象:发布者、订阅者、主题对象。
如上述代码:首先定义一个主题对象,对象中定义个数组来存储订阅者列表;然后定义个原型事件notify,该事件用来当发布信息时通知订阅者;
function Dep(){ //主题对象 this.subs = []; //订阅者列表 } Dep.prototype.notify = function(){ //主题对象通知订阅者 this.subs.forEach(function(sub){ //遍历所有的订阅者,执行订阅者提供的更新方法 sub.update(); }) } function Sub(x){ //订阅者 this.x = x; } Sub.prototype.update = function(){ this.x = this.x + 1; console.log(this.x); } var dep = new Dep(); Array.prototype.push.call(dep.subs, new Sub(1), new Sub(2)) dep.notify (); //发布者发布更新
如上述代码:首先定义一个主题对象,对象中定义个数组来存储订阅者列表;然后定义个原型事件notify,该事件用来当发布信息时通知订阅者;
相关文章推荐
- JavaScript中发布/订阅模式的简单实例
- JavaScript中发布/订阅模式的简单实例
- 学习笔记-js发布/订阅模式的简单实现
- 用 JavaScript 实现发布/订阅模式
- 实现一个简单的订阅与发布模式的代码块,和redux
- JavaScript中发布/订阅模式的简单实例
- Node中EventEmitter以及如何实现JavaScript中的订阅/发布模式
- JavaScript 实现基础--正则表达式--简单模式--
- javascript单例模式的简单实现方法
- Jquery 自定义事件实现发布/订阅的简单实例
- MQTT协议之使用Future模式订阅及发布(使用fusesource mqtt-client实现)
- Shuttle ESB(五)——发布订阅模式实例实现(2)
- 第五章 --- 关于Javascript 设计模式 之 发布-订阅模式
- 基于spring-redis发布订阅模式的实现
- 【学习笔记javascript设计模式与开发实践(发布--订阅模式)----8】
- 利用zookeeper的发布/订阅模式实现配置动态变更
- 订阅发布模式——C++实现
- C#实现发布订阅模式
- 消息队列-ActiveMQ学习笔记(三)-发布-订阅消息模式实现
- javascript设计模式学习之八_发布订阅(观察者)模式