stuff1 = function(deferred) {
setTimeout(function() {
console.log("Stuff #1 is done!");
deferred.resolve();
}, 1000);
};
stuff2 = function(deferred) {
setTimeout(function() {
console.log("Stuff #2 is done!");
deferred.resolve();
}, 500);
};
stuff3 = function(deferred) {
setTimeout(function() {
console.log("Stuff #3 is done!");
deferred.resolve();
}, 500);
};
$.Deferred(stuff1).pipe(function() {
return $.Deferred(stuff2)
}).pipe(function() {
return $.Deferred(stuff3)
}).then(function() {
console.log("done!");
});