더북(TheBook)

2.5.4.2 process.nextTick(콜백)

이벤트 루프가 다른 콜백 함수들보다 nextTick의 콜백 함수를 우선으로 처리하도록 만듭니다.

nextTick.js

setImmediate(() => {
  console.log('immediate');
});
process.nextTick(() => {
  console.log('nextTick');
});
setTimeout(() => {
  console.log('timeout');
}, 0);
Promise.resolve().then(() => console.log('promise'));

process.nextTicksetImmediatesetTimeout보다 먼저 실행됩니다. 코드 맨 밑에 Promise를 넣은 것은 resolvePromisenextTick처럼 다른 콜백들보다 우선시되기 때문입니다. 그래서 process.nextTickPromise를 마이크로태스크(microtask)라고 따로 구분해서 부릅니다.