我有一个问题,希望能用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)...