Skip to content

Instantly share code, notes, and snippets.

@aaroncadrian
Created March 21, 2018 20:23
Show Gist options
  • Select an option

  • Save aaroncadrian/5ae50bd4ab19e24f9b1b017df4d51035 to your computer and use it in GitHub Desktop.

Select an option

Save aaroncadrian/5ae50bd4ab19e24f9b1b017df4d51035 to your computer and use it in GitHub Desktop.
Simple JavaScript event emitter class
class EventEmitter {
constructor() {
this.events = {};
}
on(eventName, callback) {
if(!this.events[eventName]) {
this.events[eventName] = [];
}
this.events[eventName].push(callback);
};
trigger(eventName, ...args) {
if(this.events[eventName]) {
this.events[eventName].forEach(callback => callback.apply(null, args));
}
};
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment