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