| 1234567891011121314151617181920212223 | <!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8">  <meta http-equiv="X-UA-Compatible" content="IE=edge">  <meta name="viewport" content="width=device-width, initial-scale=1.0">  <title>Document</title></head><body>  1. 进入到 async1,发现同步任务,输出'async1 start'  2.遇到了await,进入到async2,碰到定时器,加入到异步队列里面的宏任务  3.在async2 有一个同步任务 直接输出'async2'  4.由于await 阻塞了后面代码的执行 将后面的代码加入微任务 所以向下去找  5.碰到了定时器 加入到宏任务里  6.碰到同步任务 输出'start'  7.同步代码执行完毕  先执行微任务     8.先输出微任务里面的 同步任务  输出'async1 end'  9.微任务里面有定时器  加入到宏任务里  10.微任务执行完毕 执行宏任务  11.宏任务队列里面有3个任务  12.按照顺序执行  timer2=>timer3=>timer1</body></html>
 |