发布订阅模式主要涉及三个对象:发布者、订阅者、主题对象。
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,该事件用来当发布信息时通知订阅者;
如对本文有疑问, 点击进行留言回复!!
vue脚手架安装以及vue脚手架创建项目(详细步骤),看这篇文章就行了,小白也能创建自己的项目
JavaScript递归函数详解:如何使用递归及简单的递归案例
JavaScript 中的break、continue、return的用法和区别
网友评论