0

如何将本机 javascript 添加到 中$.when?当我想为每个 inside 使用时,我在下面执行此操作时出现错误$.when。有任何想法吗?

var scripts = [
    "ccommon.js",
    "ccommon2.js",
    "ccommon3.js"
];

$.when(
    // Via $.getScript.
    for(var i = 0; i < scripts.length; i++) {
        $.getScript(scripts[i]);
    }
).done(function(){

    //place your code here, the scripts are all loaded.
    alert('script loaded');

});
4

1 回答 1

2

您需要将 promise 对象列表作为参数列表传递,$.when(p1, p2, p3).then(function())因为在这种情况下您有一个动态列表,您可以使用.apply()函数调用$ .when()动态参数列表

var array = [];
for(var i = 0; i < scripts.length; i++) {
    array.push($.getScript(scripts[i]));
}

$.when.apply($, array).done(function(){

    //place your code here, the scripts are all loaded.
    alert('script loaded');

});
于 2013-07-11T09:43:32.387 回答