@jaseemabid
gh:jaseemabid
Opinionated!
loves JavaScript, emacs, git.
Fundamentally anti Microsoft
var broker = new Pubsub();
broker.on('foo', function (m) {
console.log('Got the message ', m); });
broker.trigger('foo', 42);
broker.off('foo');
var Pubsub = function () { this._events = {}; };
Pubsub.prototype.on = function (type, handler) { if (this._events[type] === undefined) { this._events[type] = []; } this._events[type].push(handler); };
Pubsub.prototype.trigger = function (event, message) { var events; if (this._events[event] instanceof Array) { events = this._events[event]; events.forEach(function (e) { e.call(this, message); }); } };
Pubsub.prototype.off = function (type) { if (this._events[type]) { delete this._events[type]; } };
var broker = new Pubsub(); broker.on('foo', function (m) { console.log('Got the message ', m); }); broker.trigger('foo', 42);
>>Got the message 42
broker.trigger('foo', 26);
>>Got the message 26
broker.off('foo'); broker.trigger('foo', 'Never show this');