这是按顺序运行代码片段的好方法吗?


<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();

最新更新