JSFiddle - React, Tailwind, and code Playground

by TrueBlueAussie

JavaScript

console.clear();
function log(msg){ // simple function to log stuff
    $('body').append(msg + "<br />");
}

var delay = function(name, ms){ // this is an async request, simulating your AJAX
   var d = $.Deferred();
    setTimeout(function(){
        log(name);
        d.resolve();
   }, ms);
   return d;
};

var p = $.Deferred().resolve().promise();

[1,2,3,4,5,6,7,8,9,10].forEach(function(i){
     p = $.when(p, delay(i,i * 500));
});

p.then(function(){
   log("All done");
});