21. process.nextTick
process.nextTick(callback)
event loop
가 다른 callback 함수들보다 nextTick
의 callback 함수를 우선적으로 처리한다.
너무 남용하면 다른 callback 함수들 실행이 늦어진다.
비슷한 경우로 promise
가 있다. (nextTick
처럼 우선순위가 높다.)
아래 예제를 실행해보면 setImmediate
, setTimeout
보다 promise
와 nextTick
이 먼저 실행된다.
setImmediate(() => {
console.log('setImmediate');
})
process.nextTick(() => {
console.log('nextTick')
})
setTimeout(() => {
console.log('setTimeout')
}, 0)
Promise.resolve().then(() => console.log('promise'))
// nextTick
// promise
// setTimeout
// setImmediate
// ---------------------------------------------------------------------------------
// setTimeout 0초랑 setImmediate는 누가먼저 실행될지 모른다.