Promise 결과는 콜 스택이 빈 뒤 microtask에서 처리된다
동기 코드가 먼저 끝나고 Promise callback은 microtask queue에서 실행되므로 화면 업데이트 순서를 이해해야 한다.
Call stack
동기 코드 실행
현재 함수 처리
Promise resolve
microtask 등록
then 대기
Microtask
then/catch 실행
state update 예약
Render
React 반영
화면 갱신
큐
실행 시점
예시
call stack
즉시
console, render
microtask
stack 후
Promise then
macrotask
다음 tick
setTimeout
React batch
업데이트 묶음
렌더 횟수