Chaining deferred
HTML
<script src="https://code.jquery.com/jquery-3.1.0.min.js"></script>
<ul>
</ul>
JavaScript
function first () {
let deferred = $.Deferred();
$('ul').append('<li>Guigo</li>');
deferred.resolve();
return deferred.promise();
}
function second () {
let deferred = $.Deferred();
$('ul').append('<li>Second</li>');
deferred.resolve();
return deferred.promise();
}
$(function () {
$.when(first()).done().then(second).done().then(second);
})