【发布时间】:2015-05-11 07:41:59
【问题描述】:
我在同步加载脚本并使用 jQuery 执行它们时遇到问题。
我看到的和这个类似:
// Load Libraries in 'when'
$.when(
loadJSFile("lib1.js"),
loadJSFile("lib2.js")
loadJSFile("lib3.js")
).then(function() {
// Load JS files that use the library files
loadJSFile("file1.js");
loadJSFile("file2.js");
loadJSFile("file3.js");
// needs to return deferred object...
}).then(function() {
// Call functions declared in file1, file2 and file3
func1();
func2();
func3();
});
loadJSFile 通过 $.getScript 加载一个 javascript 文件,如果它还没有包含在 DOM 中,则返回 $.getScript Promise,或者不返回任何内容,如果它已经包含。
我认为第一个 then 调用必须返回一个 Promise/Deferred,但是如何使用 3 个 Deferred 对象来做到这一点?
上面的代码在加载file1到file3之前调用了3个函数(func1、func2和func3)...
【问题讨论】:
标签: javascript jquery