关键点:

    • process.nextTick 的执行时机 (优于其他微任务)
    • setImmediate 的执行时机
    • node 10 中宏任务嵌套微任务执行顺序不一样
    • microtask 的执行时机不同(node 端在事件循环的各个阶段之间执行)
    • node.js 事件循环阶段总结为:tiippcc ```javascript setTimeout(()=>{ console.log(‘timer1’) Promise.resolve().then(function() {
      1. console.log('promise1')
      }) }, 0) setTimeout(()=>{ console.log(‘timer2’) Promise.resolve().then(function() {
      1. console.log('promise2')
      }) }, 0)

    // 浏览器:timer1=>promise1=>timer2=>promise2 // >=node 11 timer1=>promise1=>timer2=>promise2 (和浏览器保持一致) // =timer2=>promise1=>promise2 (第二个定时器已经在完成队列中) // timer1=>promise1=>timer2=>promise2 (第二个定时器在未完成队列中) ``` 1. 浏览器与node.js 事件循环的区别 - 图1
    1. 浏览器与node.js 事件循环的区别 - 图2
    https://juejin.cn/post/6844903761949753352