sample: testing jQuery.Deferred
by sii_side
JavaScript
var time = new Date();
start().then(a).then(b).then(c);
function start() {
var dfd = $.Deferred();
console.log(new Date - time + " called start");
window.setTimeout(function() {
console.log(new Date - time + " finish start");
dfd.resolve();
}, 2000);
return dfd.promise();
};
function a() {
var dfd = $.Deferred();
console.log(new Date - time + " called a");
window.setTimeout(function() {
console.log(new Date - time + " finish a");
dfd.resolve();
}, 2000);
return dfd.promise();
}
function b() {
var dfd = $.Deferred();
console.log(new Date - time + " called b");
window.setTimeout(function() {
console.log(new Date - time + " finish b");
dfd.resolve();
}, 2000);
return dfd.promise();
}
function c() {
console.log(new Date - time + " called c");
window.setTimeout(function() {
console.log(new Date - time + " finish c");
}, 2000);
}