Guest User

Untitled

a guest
Jan 20th, 2018
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.60 KB | None | 0 0
  1. class Events {
  2. constructor() {
  3. this.events = {};
  4. }
  5. on(eventName, callback) {
  6. this.events[eventName] = this.events[eventName] || [];
  7. this.events[eventName].push(callback);
  8. }
  9. off(eventName, callback) {
  10. var currentEvents = this.events[eventName];
  11. if(!currentEvents || !currentEvents.length) return;
  12. var currentEventIndex = currentEvents[callback];
  13. if(currentEventIndex >= 0) currentEvents.splice(currentEventIndex, 1);
  14. }
  15. trigger(eventName, data) {
  16. try {
  17. this.events[eventName].forEach(function(callback) {
  18. callback(data);
  19. });
  20. } catch(error) {}
  21. }
  22. }
Add Comment
Please, Sign In to add comment