var PubSub = {
subscribe: function(ev, callback) {
this._callbacks = this._callbacks || {};
this._callbacks[ev] = this._callbacks[ev] || [];
this._callbacks[ev].push(callback);
return this;
},
publish: function() {
var args = Array.prototype.slice.call(arguments, 0);
var ev = args.shift();
if (!this._callbacks) {
return this;
}
if (!this._callbacks[ev]) {
return this;
}
var list = this._callbacks[ev];
for (var i = 0; i < list.length; i++) {
list[i].apply(this, args);
}
return this;
}
};
PubSub.subscribe('tc', function() {
console.log('tc', arguments);
});
PubSub.publish('tc', 1, 2);
发布订阅模式
Share this post on: