Le code exemple qui m’a fait comprendre le fonctionnement
$('#result').html('waiting...'); var promise = wait(); promise.done(result); function result() { $('#result').html('done'); } function wait() { var deferred = $.Deferred(); setTimeout(function() { deferred.resolve(); }, 2000); return deferred.promise(); }
source ⇒ http://www.bitstorm.org/weblog/2012-1/Deferred_and_promise_in_jQuery.html
Un gros dossier sur le synchrone / asynchrone (mal de crâne assuré) ⇒ https://www.supinfo.com/articles/single/5640-programmation-asynchrone-javascript