SOURCE

console.log('script start') // 1 一轮 宏任务

async function async1() {
  await async2()
  console.log('async1 end') // 5 一轮 微任务
}
async function async2() {
  console.log('async2 end') // 2 一轮 宏任务
}
async1() // 

setTimeout(function() {
  console.log('setTimeout') // 8 二轮 微任务
}, 0)

new Promise(resolve => {
  console.log('Promise') // 3 一轮 宏任务
  resolve()
})
  .then(function() {
    console.log('promise1') // 6 一轮 微任务
  })
  .then(function() {
    console.log('promise2') // 7 一轮 微任务
  })

console.log('script end') // 4 一轮 宏任务
console 命令行工具 X clear

                    
>
console