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