JS
브라우저 이벤트 루프: task, microtask, rAF 차이
자바스크립트 코드는 위에서 아래로 실행되는 것처럼 보이지만, 브라우저 안에서는 조금 더 복잡한 순서로 움직입니다. 특히 Promise.then, setTimeout, requestAnimationFrame을 함께 쓰면 “왜 이 코드가 먼저 실행되지?”라는 상황을 자주 만나게 됩니다.핵심은 브라우저가 작업을 크게 task, microtask, 렌더링 단계로 나누어 처리한다는 점입니다. 이 차이를 이해하면 클릭 후 UI가 늦게 바뀌는 이유, setTimeout(0)이 바로 실행되지 않는 이유, requestAnimationFrame을 언제 써야 하는지 훨씬 명확해집니다.한 줄로 정리하기task는 브라우저가 처리하는 큰 작업 단위입니다. microtask는 현재 task가 끝난 직후 먼저 비워지는 우선 대기열..
2026. 7. 23. 20:50