我可以像这样将多个 ajax 调用传递给一个 when:
var dnldAy = [];
for (i=0, iMax=urlsToLoad.length; i < iMax; i++) {
dnldAy.push( $.ajax({
url: urlsToLoad[i],
dataType: "json"
}) );
}
$.when.apply($, dnldAy).done( function( doneCb ) {
console.log( doneCb );
}
运行时when
,它只会从 ajax 请求数组中获取第一个doneCb。我知道我可以向 done 函数添加更多参数以获取其他回调,但这不可扩展。(我将在我的 ajax 调用中进行未知数量的调用when
,因此我无法提前知道在 done 函数中需要多少参数)。
处理这个设计问题的正确方法是什么?