jQuery deferred and promise
by HoffZ
HTML
<div id="output"></div>
JavaScript
function logger(txt) {
$('#output').append(txt + '<br>');
}
function execution(data) {
var dfd = $.Deferred();
logger('start execution');
// Simulating a process
setTimeout(function() {
dfd.resolve()
}, 2000);
return dfd.promise();
}
function executionDone() {
logger('execution ended');
}
var promise = execution();
promise.done(executionDone);
logger('script end');
// Also possible to use jQuery $.when:
//$.when(execution()).then(executionDone);