콜 스택을 체크해주는 역할을 하는 것이 이벤트루프
콜 스택이 비어있을 때 콜백 큐의 첫번째 콜백을 넘겨주도록
- 현재 콜 스택에 있는 모든 함수가 실행됩니다. 함수가 값을 반환하면 스택에서 빠져나옵니다.
- 호출 스택이 비어있으면, 대기중인 모든 마이크로 태스크가 콜 스택으로 하나씩 들어가고, 실행됩니다! (마이크로 태스크는 스스로 새로운 마이크로 태스크를 반환해서 효율적으로 무한 마이크로 루프를 생성할 수 있습니다
- 호출 스택과 마이크로 스택이 모두 비게 되면, 이벤트 루프는 (매크로)태스크 큐에 남아있는 작업이 있는지 확인합니다. 작업이 남아있다면 콜스택으로 들어가서 실행되고, 값을 반환한 후에 빠져나옵니다!


Seonglae Cho![[번역] 자바스크립트 시각화 : 비동기 처리](https://www.notion.so/image/https%3A%2F%2Fimages.velog.io%2Fimages%2Fjjunyjjuny%2Fpost%2Ffb607b28-1f45-446c-b6d1-437b19958dc0%2F1234.png?table=block&id=8a036d60-efce-4fc4-b470-3e894f1a80a5&cache=v2)
![[번역] 자바스크립트 시각화 : 이벤트 루프](https://www.notion.so/image/https%3A%2F%2Fmedia.vlpt.us%2Fimages%2Fjjunyjjuny%2Fpost%2Fe7f0d557-1fab-4a61-ae8e-b5cb1a911b09%2Fek7ji4zrimozpp2yzk0a.png?table=block&id=e323e0c7-ecc1-48a4-8b22-82e6b6f360b4&cache=v2)