JSFiddle - React, Tailwind, and code Playground
JavaScript
var myApp = {};
(function(context) {
var id = 0;
var callbacks = {};
context.next = function() {
id++;
doCallbacks('next');
return id;
};
context.setCallback = function(event, f) {
if(!callbacks[event] || !callbacks[event] instanceof Array) {
callbacks[event] = [];
}
callbacks[event].push(f);
}
context.reset = function() {
id = 0;
}
function doCallbacks(key /*, event */) {
if(callbacks[key] && callbacks[key] instanceof Array) {
for(var i=0; i < callbacks[key].length; i++) {
callbacks.next[i](/*event*/);
}
}
}
})(myApp);
myApp.setCallback('next', function() {
alert('hello');
});
myApp.next();