【发布时间】:2013-03-13 19:23:47
【问题描述】:
为了加快速度,我的 Web 应用程序使用 jQuery 的 ajax 调用按需为某些功能加载 JavaScript 文件。不过,我遇到了竞争条件问题。例如,文件 B.js 依赖于文件 A.js。我已经配置了一个类似 list=[A.js,B.js] 的列表,我遍历这个列表并异步获取脚本。如何防止这种竞争状况?
加载 JavaScript 文件的代码类似于:
loadJS: function(url) {
$.ajax({url: url, dataType: 'script', success: function(){}});
}
【问题讨论】:
-
将这两个文件缩小并连接到 C.js 中。如果您只提取一个文件,则没有竞争条件。
-
不要使用 ajax 来加载那些依赖于其他的脚本?
-
为什么不使用requirejs?
-
在向 b.js 发送请求之前,只需等待 a.js 返回即可。
-
我想避免缩小,因为它在开发过程中很烦人。 RequireJS 没有按需加载的功能,它在开始时加载。
标签: javascript