JSFiddle - React, Tailwind, and code Playground
by XiozZe
HTML
<p id=hello></p>
JavaScript
function doStuff(i, moreWork){
console.log("doStuff "+i);
var max = 20000*Math.random() + (200000+100000*Math.random())*moreWork;
var time = new Date().getTime();
for(var j = 0; j < max; j++){
$("#hello").text();
}
doStuffTime += new Date().getTime() - time;
console.log("doStuff "+i+" done")
}
function ajaxCall(i){
if(i === 40){
console.log("doStuffTime: "+doStuffTime);
console.log("ajaxCallTime: "+ajaxCallTime);
console.log("totalTime: "+(new Date().getTime() - startTime));
return false;
}
console.log("ajaxCall done!");
var wait = Math.round(Math.random() * 300);
ajaxCallTime += wait;
if(i < 10){
//The first few calls cause a lot of work
doStuff(i, 1);
}
else{
//The others are much faster done
doStuff(i, 0);
}
setTimeout(function(){
ajaxCall(++i);
}, wait);
}
var doStuffTime = 0;
var ajaxCallTime = 0;
var startTime = new Date().getTime();
ajaxCall(0);