执行完一个宏任务后,执行微任务队列里的所有任务,然后重复此步骤。
在当前的微任务没有执行完成时,是不会执行下一个宏任务的
宏任务
- I/O操作
- setTimeout
- setInterval
- setImmediate
- script(主程序代码)
微任务
- Promise
- process.nextTick
script(主程序代码)—>process.nextTick—>Promises…——>setTimeout——>setInterval——>setImmediate——> I/O——>UI rendering