3.3.2 이벤트 루프
이번에는 동기 코드와 비동기 코드가 같이 있는 경우에 어떤 순서로 돌아가는지 알아보겠습니다. 여기서는 호출 스택 말고도 이벤트 루프, 백그라운드, 태스크 큐가 등장합니다.
이벤트 루프는 호출 스택이 비어 있을 때 태스크 큐에서 호출 스택으로 함수를 이동시키는 역할을 한다고 했는데, 코드를 보면서 어떻게 동작하는지 알아봅시다. 다음 코드는 3.1.3 clearTimeout()과 clearInterval()에 나왔던 코드입니다.
const timerId = setTimeout(() => {
console.log('0초 뒤에 실행됩니다.');
}, 0);
console.log('내가 먼저');