简单的发布订阅者模式的实现

observer.js
复制

var Observer = function () {

};

Observer.prototype = {
  constructor: Observer,
  subscribe: function (eventName, func) {
    if (!this[eventName]) this[eventName] = [];
    this[eventName].push(func);
  },
  publish: function (eventName, data) {
    var _this = this;
    if (!this[eventName]) this[eventName] = [];
    this[eventName].forEach(function (func) {
      func.call(_this, data);
    });
  }
};

大牛们的评论:朕有话说

还没有人评论哦,赶紧抢沙发!