Javascript 加载另一个JS脚本后再加载它
这是我的密码:Javascript 加载另一个JS脚本后再加载它,javascript,html,Javascript,Html,这是我的密码: <script src='app.js' defer></script> //very big js file //lots of html stuff <script> alert(1);</script> //非常大的js文件 //很多html的东西 警报(1); 问题是,这些都是异步加载的。是否有方法等待第二个脚本加载第一个脚本?延迟指示脚本标记的内容在页面加载之前不执行。所以我实际上希望先弹出警报,然后加载app.js
<script src='app.js' defer></script> //very big js file
//lots of html stuff
<script> alert(1);</script>
//非常大的js文件
//很多html的东西
警报(1);
问题是,这些都是异步加载的。是否有方法等待第二个脚本加载第一个脚本?延迟指示脚本标记的内容在页面加载之前不执行。所以我实际上希望先弹出警报,然后加载app.js
在不延迟的情况下,sript应该按照您放置它们的顺序同步加载。如果您使用jQuery,有一种非常简单的方法可以通过函数实现这一点。只需添加加载后需要执行的脚本部分,并将其作为参数传递给函数
$.getScript( "app.js" )
.done(function( script, textStatus ) {
console.log( textStatus );
//your remaining code
})
.fail(function( jqxhr, settings, exception ) {
//script fail warning if you want it
});
您可以通过异步等待来实现这一点 创建一个JavaScript函数来包装它们
const task1 = ()=>{
// app.js content
}
const task2 = ()=>{
// alert(1);
}
async function asyncCall(){
await task1(); // then task2 want start until the task1 finishes
task2();
};
asyncCall();
您可以使用异步函数异步执行一个又一个函数
额外资源:
您也可以使用JavaScript承诺解决同样的问题,但我更喜欢异步等待函数。它们不那么痛苦 如果执行顺序很重要,那么您不应该使用
延迟
。