Skip to content

Instantly share code, notes, and snippets.

@DavidBernal
Last active September 1, 2016 10:49
Show Gist options
  • Save DavidBernal/bec754b28e9e938ca66ffd64b0f3dd86 to your computer and use it in GitHub Desktop.
Save DavidBernal/bec754b28e9e938ca66ffd64b0f3dd86 to your computer and use it in GitHub Desktop.
var Emitter = {
events: [],
emit(eventName, ...args){
this.events.forEach(function(event){
if(event.name == eventName){
event.cb.apply(null, args)
}
})
},
on(eventName, cb){
this.events.push({
name: eventName,
cb: cb
})
},
off(eventName){
var len = this.events.length;
while(len--){
if(this.events[len].name === eventName){
this.events.splice(len, 1);
}
}
}
};
Emitter.on('toggle', function(){
console.log('toggle', arguments)
})
Emitter.emit('toggle', 'param1', 'param2')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment