【问题标题】:How to add native javascript into `$.when`?如何将本机 JavaScript 添加到`$.when`?
【发布时间】:2013-07-11 09:39:45
【问题描述】:

如何将原生 javascript 添加到 $.when?当我想在$.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');

});

【问题讨论】:

  • 调用函数时,参数必须是表达式的列表,即foo(expr1, expr2, ...)。您不能在此处放置声明

标签: jquery getscript


【解决方案1】:

您需要将 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');

});

【讨论】:

    猜你喜欢
    • 2019-04-09
    • 2019-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-08
    • 1970-01-01
    • 2022-07-06
    • 2011-11-02
    相关资源
    最近更新 更多