If you're using jQuery and are doing multiple ajax calls - on a recent project there was a pyramid of doom loading in lots of templates. A cool technique to avoid this is to roll the ajax calls into a single promise.
The $.when
method can take multiple promises so we can use that to pass in an array of promises by using .apply
.
function all (deferredArray) {
var promise = $.Deferred();
$.when.apply($, deferredArray).then(function() {
promise.resolve('All done');
});
return promise;
};
all([$.ajax("/"), $.ajax("/"), $.ajax("/")])
.done(function(result) {
console.log(result);
});