Skip to content

Instantly share code, notes, and snippets.

@tomazzlender
Forked from zpao/gist:8344371
Created March 11, 2014 05:00
Show Gist options
  • Save tomazzlender/9479745 to your computer and use it in GitHub Desktop.
Save tomazzlender/9479745 to your computer and use it in GitHub Desktop.
var CustomEvents = (function() {
var _map = {};
return {
subscribe: function(name, cb) {
_map[name] || (_map[name] = []);
_map[name].push(cb);
},
notify: function(name, data) {
if (!_map[name]) {
return;
}
// if you want canceling or anything else, add it in to this cb loop
_map[name].forEach(function(cb) {
cb(data);
});
}
}
})();
// in <MyComponent>
CustomEvents.subscribe('foo', function(data) {
console.log('foo', data);
});
// in <SomeOtherComponent>
CustomEvents.notify('foo', {bar: 7});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment