index.js 550 B

12345678910111213141516
  1. module.exports = global.broadcaster = {
  2. _events: {},
  3. publish: function (event, data) {
  4. if (!this._events[event]) return; // no one is listening to this event
  5. for (var i = 0; i < this._events[event].length; i++)
  6. this._events[event][i](data);
  7. },
  8. subscribe: function (event, callback) {
  9. if (!this._events[event]) this._events[event] = []; // new event
  10. this._events[event].push(callback);
  11. },
  12. clear: function(event){
  13. if (this._events[event]) delete this._events[event];
  14. }
  15. };