Tôi đang đọc về Trì hoãn và Lời hứa và tiếp tục xem qua $.when.apply($, someArray)
. Tôi hơi không rõ điều này chính xác làm gì, đang tìm lời giải thích rằng một dòng hoạt động chính xác (không phải toàn bộ đoạn mã). Đây là một số bối cảnh:
var data = [1,2,3,4]; // the ids coming back from serviceA
var processItemsDeferred = [];
for(var i = 0; i < data.length; i++){
processItemsDeferred.push(processItem(data[i]));
}
$.when.apply($, processItemsDeferred).then(everythingDone);
function processItem(data) {
var dfd = $.Deferred();
console.log('called processItem');
//in the real world, this would probably make an AJAX call.
setTimeout(function() { dfd.resolve() }, 2000);
return dfd.promise();
}
function everythingDone(){
console.log('processed all items');
}
_.when
để bạn không cần sử dụngapply
.apply
: developer.mozilla.org/en-US/docs/JavaScript/Reference/… .
.done()
có thể được sử dụng thay thế.then
trong trường hợp này, chỉ FYI