JSFiddle - React, Tailwind, and code Playground
by toddanglin
JavaScript
var promises = queuePromise(getData(0, 3)); //Add long delay to first to prove parallel processing
for(var i = 1; i < 3; i++){
promises.push.apply(promises, queuePromise(getData(i, 1)));
}
$.when.apply(null, promises)
.then(function() {
var idx,
length;
//Use this if you want to do something with the promise return values
//for (idx = 0, length = arguments.length; idx < length; idx++){
// alert(arguments[idx]);
//}
//All async processing done!
alert("Done!");
});
function queuePromise(){
var promises = [],
promise = arguments[0];
promises.push(promise);
return promises;
}
function getData(idx, delay){
return $.ajax({url:'/echo/json/',data:{delay:delay}})
.success(function(){
alert("Done "+ idx);
});
}