3 ms·
PubSub is probably one of the easiest JavaScript patterns to make with vanilla js. function PubSub(){ this.listeners = {}; }; PubSub.p
by emehrkay 15y ago
PubSub is probably one of the easiest JavaScript patterns to make with vanilla js.
function PubSub(){
this.listeners = {};
};
PubSub.prototype.subscribe = function(name, fn){
if(!this.listeners[name]){
this.listenders[name] = [];
}
this.listeners.name.push(fn);
return this;
};
PubSub.prototype.publish = function(name, args, binding_object){
if(this.listeners[name]){
var i, l;
for(i = 0, l = this.listeners[name].length; i < l; i++){
this.listeners[name][i].apply(binding_object || this, args);
}
}
return this;
};
PubSub.prototype.unsubscribe = function(name, fn){
//loop through and remove fn from this.listners
};
//usage
var = ps_controller = new PubSub();
//somewhere subscribe to an event
ps_controller.subscribe('test', function(one, two three){ //do stuff });
//publish the test event later
ps_controller.publish('test', [1, 2 3]);