Node.js 이벤트 루프
원리와 활용
동기 코드가 끝나면 준비된 작업을 순서에 따라 처리합니다.
활용 비동기 실행 순서와 지연 이해
I/O 콜백 안에서 네 작업을 예약합니다. 예약이 곧바로 실행을 뜻하지는 않으며 현재 동기 코드가 먼저 끝나야 합니다.
↔ 드래그하여 이동
fs.readFile('data.txt', () => { /* schedule callbacks */ });자세히 알아보기
Node.js 20+의 CommonJS I/O 콜백 안에서 nextTick·Promise·setImmediate·setTimeout(0)을 예약하는 예제입니다. 이 조건에서는 nextTick, Promise, immediate, timer 순서로 관찰됩니다. 최상위 코드의 immediate와 timer 순서를 일반화하지 않습니다. Node 20의 libuv 변경으로 타이머 처리는 poll 뒤에 이뤄지며 긴 동기 작업은 이벤트 루프의 다른 콜백도 지연시킵니다.