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');