我有一个包含几个 JS 脚本的 HTML 文件:
<!DOCTYPE html> <html>
<head>
<title>Application</title>
<meta name="viewport" content="initial-scale=1.0">
<meta charset="utf-8">
<style>
html, body {
height: 100%;
margin: 0;
padding: 0;
}
</style>
<script src="https://d3js.org/d3.v4.js"></script>
<script src="initMap.js"></script>
<script src="CSVParsing.js"></script>
<script src="nbCinemas.js"></script>
<script async defer src="https://maps.googleapis.com/maps/api/js?key=MYKEY&libraries=geometry&callback=initMap"></script>
</head>
<body>
<div id="map" style="width:1000px; height:800px; margin-left:auto; margin-right:auto;"></div>
</body>
我的问题是,在我的nbCinemas.js文件中,我使用了一个应该在CSVParsing.js中初始化的全局变量……但事实并非如此。问题是,我认为我的CSVParsing.js文件是最后加载的。这是文件:
var arrayData;
d3.csv("cinemas-a-paris.csv", function(data) {
data.forEach(function(d) {
d.lat = +d.lat;
d.lng = +d.lng;
});
arrayData = data;
print();
});
function print() {
console.log("done");
}
在控制台中,“完成”是最后写入的内容,即使我的nbCinemas.js文件中有其他 console.logs。
你能帮助我吗?为什么我的CSVParsing.js文件最后加载?如何强制它在nbCinemas.js之前 加载?
谢谢!
汤姆。