我做了一个非常简单的例子(改编自我的真实项目),它使用LABjs(v2.0.3)加载javascript文件并按给定顺序执行它们。我正在粘贴下面的代码。错误的执行顺序使用LABjs
- 由于testLAB.js等待mainCanvas.js,谁events.js等待,我希望警报的顺序是: “events.js” “mainCanvas.js” “testLAB.js”。
- 但是,我通常得到相反的顺序:“testLAB.js”“mainCanvas.js”“events.js”。
- 有时我会得到“testLAB.js”“events.js”“mainCanvas.js”。
有人可以解释吗?
完整的示例可以下载here。
编辑:我如何使用Node.js和http-server module在本地提供这些网页(如果你想尝试一下当地以及)
文件:index.html的
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Test lab.js</title>
<script src="js/lib/LAB.js"></script>
<script src="js/app/testLAB.js"></script>
</head>
<body>
</body>
</html>
文件:JS /应用/ testLAB.js
$LAB.setGlobalDefaults({
BasePath: "/js/",
Debug:true
});
$LAB
.script("lib/underscore.min.js")
.script("app/mainCanvas.js").wait(function(){
alert("testLAB.js");
});
文件:JS /应用/ mainCanvas.js
$LAB
.script("lib/jquery.js").wait()
.script("lib/underscore.min.js")
.script("app/events.js")
.wait(function() {
alert("mainCanvas.js");
});
文件:JS /应用/ events.js
$LAB
.script("lib/jquery.js")
.script("lib/underscore.min.js")
.wait(function() {
alert("events.js");
});
非常感谢,我现在能够解决我的问题! – mnieber