【问题标题】:Loading js files asynchrously, onExecution event?异步加载js文件,onExecution事件?
【发布时间】:2014-04-03 18:35:09
【问题描述】:

我有两个要异步加载的 javascript 文件,a.js 和 b.js。

a.js 必须在 b.js 之前运行。

我希望我可以通过以下方式触发 b.js 的执行:

$.getScript("a.js")
    .done(function( data, textStatus, jqxhr ) {
        $.getScript("b.js")
})

麻烦的是,如果a.js很大,即使先加载,偶尔b.js会在a.js执行完之前加载执行,导致报错。

我怎样才能摆脱这个困境?

【问题讨论】:

  • 最明显的是使用 require.js,它是为依赖加载而构建的。

标签: javascript asynchronous


【解决方案1】:

没有那么漂亮,但很确定这会做到:

$.ajax({
    url: "a.js",
    dataType: "script",
    async: false
}).done(function(msg){
    // do something
});
$.getScript("b.js")
.done(function(script, textStatus) {
    // do something
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-15
    • 1970-01-01
    • 1970-01-01
    • 2013-08-28
    • 1970-01-01
    • 1970-01-01
    • 2013-02-26
    相关资源
    最近更新 更多