宏任务
- setTimeout
- setInterval
- ajax
- dom事件
微任务
- promise
- asnyc/await
微任务比宏任务更早执行
js单线程,和dom渲染共用一个线程
原因:
代码执行过程:
- callstack一条条执行
- call back空闲时,尝试dom渲染
- call back空闲时,尝试dom渲染结束后,触发event loop
- call back空闲时,尝试dom渲染结束后,触发event loop后,尝试web apis
- 重复以上步骤
js单线程,和dom渲染共用一个线程
原因: