在這裏測試的代碼:
var dfd_1 = $.Deferred(),
dfd_2 = $.Deferred(),
dfd_3 = $.Deferred();
function test(content, waitTime, dfd) {
console.log(content + ' begin');
setTimeout(function() {
console.log(content + ' end');
dfd.resolve();
}, waitTime);
return dfd.promise();
}
$.when(test('first', 2000, dfd_1), test('second', 4000, dfd_2), test('third', 6000, dfd_3))
.then(function() {
console.log('all done');
});
從控制檯中的結果是:
first begin
second begin
third begin
first end
second end
third end
all done
3功能的開始和後一步一步結束 但我需要這樣的結果(開始結束,開始結束...):
first begin
first end
second begin
second end
third begin
third end
all done
如何使$ .Deferred工作一步一步地完成? 幫助我,請與解決方案
你要排隊的執行? – andlrc
@ dev-null是的,'首先開始第一個結束,第二個開始 - 第二個結束'但沒有回調,如何使它與延遲 – bsbak