setTimeout
, setInterval
등의 작업이 완료되면 해당 콜백 하수가 태스크 큐에 추가된다.const foo = () => console.log("First");
const bar = () => setTimeout(() => console.log("Second"), 500);
const baz = () => console.log("Third");
bar();
foo();
baz();
setTimeout
이 비동기 함수이므로 Web API로 비동기 함수를 넘긴다.setTimeout
을 처리하고 콜백함수를 태스크 큐로 옮긴다.setTimeout
이 아닌 프로미스 같은 우선 순위가 높은 비동기 작업일 경우 마이크로 태스크 큐로 옮긴다.https://inpa.tistory.com/entry/🔄-자바스크립트-이벤트-루프-구조-동작-원리
https://github.com/baeharam/Must-Know-About-Frontend/blob/main/Notes/javascript/event-loop.md
https://dev.to/lydiahallie/javascript-visualized-event-loop-3dif