var mainObj;
function job_1() {
mainObj = runAsync_1();
// deferred.then()
mainObj.then(function(data) {
alert(data);
});
}
function job_2() {
mainObj = runAsync_2();
// deferred.promise().then()
mainObj.then(function(data) {
alert(data);
});
}
function job_3() {
mainObj = runAsync_2();
// 平行處理多個 deferred
$.when(mainObj).then(function(data) {
alert(data);
});
}
/* ================================================================== */
/**
* 返回 deferred
*/
function runAsync_1() {
var def = $.Deferred();
//做一些異步操作
setTimeout(function() {
console.log('執行完成');
def.resolve('隨便什麼數據');
}, 2000);
return def;
};
/**
* 返回 deferred.promise()
*/
function runAsync_2() {
var def = $.Deferred();
//做一些異步操作
setTimeout(function() {
console.log('執行完成');
def.resolve('隨便什麼數據');
}, 2000);
return def.promise();
};