JSFiddle - React, Tailwind, and code Playground
by Vitaliy
JavaScript
var Observer = (function(){
var callbacks = [];
var events = {};
function createEvent(name, callback){
if(!events[name]){
events[name] = {
callbacks: [callback]
}
} else {
events[name].callbacks.push(callback);
}
}
function triggerEvent(name, args){
if(events[name]){
events[name].callbacks.forEach(function(callback){
callback(args);
});
}
}
return function(){
return {
listen: createEvent,
trigger: triggerEvent
}
}
})();
var event = new Observer();
event.listen('abrakadabra', function(e){
console.log('%cevent data: ', e);
});
event.trigger('abrakadabra', {a:123});