gpt4 book ai didi

javascript - 按顺序加载 JavaScript 脚本

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:55:15 26 4
gpt4 key购买 nike

我正在以异步方式使用 JavaScript $ajax 加载一些脚本。我需要它们按特定顺序加载,但目前它是随机的。

我的代码是:

loadScripts();

function loadScripts() {
getBootStrapperScript(function (callback) {
alert('bootStrapper loaded');
})

getXMLScript(function (callback) {
alert('xml script loaded');
});

getFormScript(function (callback) {
alert('form script loaded');
});
}

function getBootStrapperScript(callback) {
$.ajax({
url: "http://localhost/eSales/scripts/bootStrapper.js",
dataType: "script"
}).done(callback);
}

function getXMLScript(callback) {
$.ajax({
url: "http://localhost/eSales/scripts/LoadXML.js",
dataType: "script"
}).done(callback);
}

function getFormScript(callback) {
$.ajax({
url: "http://localhost/eSales/scripts/LoadForm.js",
dataType: "script"
}).done(callback);
}

你可以看到它在这个 jsFIddle 中运行

是否有一种很好且优雅的方法来确保脚本按照定义的顺序加载?

最佳答案

function loadScripts(urls, callback) {
var i = 0;
(function loadNextScript() {
if (i < urls.length) {
$.getScript(urls[i][0]).done(function() {
alert(urls[i][1] + " loaded"); // probably remove in production
++i;
loadNextScript();
});
}
else if (callback) callback();
})();
}

loadScripts([
["http://localhost/eSales/scripts/bootStrapper.js", "bootstrapper script"],
["http://localhost/eSales/scripts/LoadXML.js", "xml script"],
["http://localhost/eSales/scripts/LoadForm.js", "form script"]
], function() { alert('done'); });

关于javascript - 按顺序加载 JavaScript 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13630085/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com