node.js宏任务和微任务

执行完一个宏任务后,执行微任务队列里的所有任务,然后重复此步骤。
在当前的微任务没有执行完成时,是不会执行下一个宏任务的

宏任务

  1. I/O操作
  2. setTimeout
  3. setInterval
  4. setImmediate
  5. script(主程序代码)

微任务

  1. Promise
  2. process.nextTick

script(主程序代码)—>process.nextTick—>Promises…——>setTimeout——>setInterval——>setImmediate——> I/O——>UI rendering