您的位置:首页 > Web前端 > JavaScript

JavaScript简单实现发布订阅模式

2018-02-07 10:21 716 查看
发布订阅模式主要涉及三个对象:发布者、订阅者、主题对象。

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,该事件用来当发布信息时通知订阅者;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: