
如何异步加载两个脚本文件并控制其执行顺序
为了确保特定的执行顺序,引入两个脚本文件时需要额外考虑。本文将探究以下问题:如何让第一个脚本中的异步执行结束后再加载第二个脚本?
如问题所示,希望第一个脚本中的 asyncPrint 函数执行完毕后再加载第二个脚本并打印 "2222 - index2"。
解决方案
直接写两个
方法 1:追加加载第二个脚本
在第一个脚本中的异步执行完成后,直接追加第二个脚本的
asyncPrint('hello world', 1000)
.then(() => {
const script2 = document.createElement('script');
script2.src = 'script2.js';
document.head.appendChild(script2);
});方法 2:使用 import() 加载
在第一个脚本中的异步执行完成后,使用 import() 加载第二个脚本的资源,然后执行。
asyncPrint('hello world', 1000)
.then(() => {
import('./script2.js').then(({ default: fn }) => fn());
});










