1
getTickets函數返回什麼?
function getTickets(needsTickets) {
return $.when.apply($, $.map(needsTickets, function(x) {
return function(x) { return $.ajax() } ;
}));
}
getTickets函數返回什麼?
function getTickets(needsTickets) {
return $.when.apply($, $.map(needsTickets, function(x) {
return function(x) { return $.ajax() } ;
}));
}
我們來分析一下發生了什麼:
的$.when
結果是一個承諾,那就是正在返回什麼。
$.when
不接受數組作爲參數,以便處理承諾的數組,你需要做的:通過$.map
$.when
返回promise
它可以使用附加aysnchronous回調。它們將在$.when
執行結束時執行。
$.when(...).done(function() {
console.log('everything is ok');
}).fail(function() {
console.log('not ok');
}).always(function() {
console.log('always called');
});
apply
是一個javascript內置函數。它可以用來爲參數調用一個具有數組的函數。這2條線做同樣的事:
myFunction.call(null, ['test', 'test 2']);
myFunction('test', 'test 2');
返回一個承諾
正在創建的承諾陣列。 getTickets('someValue')。then(function(){alert('All ajax is done');})' – charlietfl
實際上更像'getTickets(someArray)。然後...' – charlietfl