var json.script
是一个数组。每个元素都是脚本的路径,我想通过$.getScript
加载。
它应该看起来像这样 - 但我不知道如何循环数组来获取每个数组元素:
$.when(
$.getScript( json.script ),
$.getScript( json.script ),
$.getScript( json.script ),
$.getScript( json.script ),
$.Deferred(function( deferred ){
$( deferred.resolve );
})
)
.done(function( script, textStatus ) { success(json); })
.fail(function( jqxhr, settings, exception ) { errormessage( exception ); });
答案 0 :(得分:1)
你可以迭代数组并创建一个可以传递给$.when
的承诺数组
//create a array of promises, one for each item in the array
var promises = $.map(json.script, function (script) {
return $.getScript(script)
});
$.when.apply($, promises).done(function (script, textStatus) {
success(json);
}).fail(function (jqxhr, settings, exception) {
errormessage(exception);
});
演示:Fiddle
答案 1 :(得分:1)
您可以使用"..."
在阵列的每个元素上调用.map
。然后,您可以将$.getScript
应用于此结果:
$.when