pink老师讲解视频
https://www.bilibili.com/video/BV1G84y1B7hZ/?spm_id_from=333.788&vd_source=5cef5968d539682b683e7d01b00ad01b
宏任务(浏览器,node发起)
- script
- 事件
- ajax,fetch
- 定时器 settimeout、setinterval
微任务(js引擎发起)
- promise
promise本身同步,但then、catch异步
代码可分为,执行顺序为:
- promise.then.catch
- async/await
- script
- 定时器
流程:
1.先将同步代码放到执行栈,微任务放到微任务队列(先进先出),宏任务也有队列
2.执行完同步代码后去微任务队列执行微任务,然后宏任务