JSFiddle - React, Tailwind, and code Playground
JavaScript
var after = function _after(count, f) {
var c = 0, results = [];
return function _callback() {
switch (arguments.length) {
case 0: results.push(null); break;
case 1: results.push(arguments[0]); break;
default: results.push(arguments); break;
}
if (++c === count) {
f.apply(this, results);
}
};
};
var doo = function _do(count, f) {
for (var i = 0; i < count; i++) {
f();
}
};
function test(i, ar, callback){
var runner = (function() {
var l = ar.length;
if (l < i) {
ar.push(l);
setTimeout(runner, 0);
} else {
callback(ar);
}
}).bind(i, ar, callback);
if ( ar === undefined ){
var ar = []
};
runner();
}
var s = new Date(),
count = 1,
cb = after(count, function() {
console.log(new Date() - s);
});
doo(count, function() {
test(10, undefined, cb);
});