js 事件循环中宏任务和微任务执行顺序
async function async1() { console.log("async1 start"); //2 await async2(); console.log("async1 end"); // 6 } async function async2() { console.log("async2"); // 3 } console.log("script start"); // 1 setTimeout(function () { console.log("setTimeout"); // 8 }, 0); async1(); new Promise(function (resolve) { console.log("promise1"); // 4 resolve(); }).then(function () { console.log("promise2"); // 7 }); console.log("script end"); // 5
script start
async1 start
async2
promise1
script end
async1 end
promise2
setTimeout