Skip to content

Instantly share code, notes, and snippets.

@gemmadlou
Last active August 17, 2017 15:15
Show Gist options
  • Select an option

  • Save gemmadlou/ca01344f7dced8ab780a4cd6116509cc to your computer and use it in GitHub Desktop.

Select an option

Save gemmadlou/ca01344f7dced8ab780a4cd6116509cc to your computer and use it in GitHub Desktop.
Simple Observer Pattern Again
var bus = {
messages: {},
on(message, callback) {
if (this.messages[message] === undefined) {
this.messages[message] = [];
}
this.messages[message].push(callback)
},
emit(message, data) {
if (this.messages[message] !== undefined) {
this.messages[message].forEach((callback) => {
callback(data)
})
}
}
}
bus.on('something-happened', (data) => {
console.log('Que pasa', data)
});
bus.on('something-happened', () => {
console.log('Que pasa again')
});
bus.emit('something-happened', 'hombre')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment