jQuery.Deferred test6
by Manoj kumar Lakshman
CSS
ul {
list-style-type: disc;
margin: 0 0 0 2em;
}
li {
margin: 0 0 .5em;
}
JavaScript
/* utils */
var $ul = $('ul');
function msg(text) {
$ul.append('<li>' + text + '</li>');
}
/* functions */
function asyncThing1() {
var dfd = $.Deferred();
setTimeout(function() {
msg('asyncThing1 seems to be done...');
dfd.resolve('banana');
}, 1000);
return dfd.promise();
}
function asyncThing2() {
var dfd = $.Deferred();
setTimeout(function() {
msg('asyncThing2 seems to be done...');
dfd.resolve('apple');
}, 500);
return dfd.promise();
}
function asyncThing3() {
var dfd = $.Deferred();
setTimeout(function() {
msg('asyncThing3 seems to be done...');
dfd.resolve('orange');
}, 1500);
return dfd.promise();
}
/* do it */
$.when(asyncThing1(), asyncThing2(), asyncThing3()).done(function(res1, res2, res3) {
msg('all done!');
msg(res1 + ', ' + res2 + ', ' + res3);
});