Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Events {
- constructor() {
- this.events = {};
- }
- on(eventName, callback) {
- this.events[eventName] = this.events[eventName] || [];
- this.events[eventName].push(callback);
- }
- off(eventName, callback) {
- var currentEvents = this.events[eventName];
- if(!currentEvents || !currentEvents.length) return;
- var currentEventIndex = currentEvents[callback];
- if(currentEventIndex >= 0) currentEvents.splice(currentEventIndex, 1);
- }
- trigger(eventName, data) {
- try {
- this.events[eventName].forEach(function(callback) {
- callback(data);
- });
- } catch(error) {}
- }
- }
Add Comment
Please, Sign In to add comment