jQuery.when

Provides a way to execute callback functions based on one or more objects, usually Deferred objects that represent asynchronous events.

HTML

<div id="output"></div>

JavaScript

// Info: http://net.tutsplus.com/tutorials/javascript-ajax/wrangle-async-tasks-with-jquery-promises/

function logger(txt) {
    $('#output').append(txt + "<br>");
}

var url = '/echo/json';
var data = {'test': 'hello'};
var ajaxFunc = $.getJSON(url, data, function(json) {
    //alert(JSON.stringify(json));
    logger('1 ajax done');
    logger('2 ajax done');
});

var ajaxFunc2 = $.getJSON(url, data, function(json) {
    //alert(JSON.stringify(json));
    logger('3 ajax done2');
    logger('4 ajax done2');
});

$.when(ajaxFunc).done(function (data, textStatus, jqXHR) {
    //alert(textStatus);
    //alert(jqXHR.status); // alerts 200
    //alert(JSON.stringify(jqXHR));
    logger('5 jqXHR status: ' + jqXHR.status);
});

var ajaxFail = $.getJSON('http://example.com/aasdfasdf');
$.when(ajaxFail).fail(function(error) {
    logger('6 Ajax failed: ' + JSON.stringify(error));
});

logger('7 script done');