SOURCE

async function asy1(){
    console.log('asy1 start')//2
    await asy2() //停,立即执行asy2,3
    console.log('asy1 end')//相当于then方法的回调,进入微任务队列,6
}

async function asy2(){
    console.log('asy2')// 3
}

console.log('sc start')//执行第一个宏任务script里的同步代码,1

setTimeout(()=>{
    console.log('timeout')
},0)//进入宏任务,最后打印,8

asy1()//执行

new Promise(function(resolve){
    console.log('pro1') //同步代码,4
    resolve()
}).then(function(){
    console.log('pro2')//进入微任务队列,排在asy1 end后,7
});
console.log('sc end') //同步代码,5
console 命令行工具 X clear

                    
>
console