<script src="./js/id.js"></script>
<script src="./js/fetch.js"></script>
<script src="./js/download.js"></script>
<script src="./js/playback.js"></script>
每个脚本都依赖于前者来完成。
这是
个好方法吗 [...]
不,但是如果里面的javascript是同步的,它将起作用。当你决定做一些异步的事情(即:fetch.js
并且download.js
听起来他们会做一些异步的事情(的那一刻,它就行不通了。
如何在每个文件中包装和公开一个异步函数。
例如,您可以让fetch.js
具有一个名为function myFetch(){ ... }
的包装函数,download.js
具有一个名为function myDownload(){ ... }
的包装函数,然后只需对从每个脚本文件公开的每个包装函数使用await
。
// fetch.js file
function myFetch(){
return new Promise((resolve)=>{
setTimeout(()=>{
console.log("my Fetch Done");
resolve("myFetch");
}, 500);
})
}
// download.js file
function myDownload(){
return new Promise((resolve)=>{
setTimeout(()=>{
console.log("My download done");
resolve("myDownload");
}, 100);
})
}
// main.js file
async function myMain(){
// "synchronous"
const res1 = await myFetch();
const res2 = await myDownload();
console.log('final log', res1, res2);
}
myMain();