答案是 n1 n2 p1 p2
原因:node中的微任务包含两部分:
1. process.nextTick() 注册的回调 ( nextTick task queue )
2. promise.then() 注册的回调 ( promise task queue)
node在执行微任务时,会优先执行 nextTick task queue 中的任务,执行完之后接着执行 promise task queue 中的任务。
如果 process.nextTick 的回调与 promise.then 的回调都处于主线程或事件循环中的同一阶段,process.nextTick 的回调要优先于 promise.then 的回调执行。
参考:Node.js 的事件循环机制 - OneForCheng - 博客园 (cnblogs.com)
标签:node,nextTick,task,JS,queue,错题,promise,回调 From: https://www.cnblogs.com/zjy4fun/p/17481328.html