메인 스레드 스케줄링
스케줄링이란? * 메인 스레드는 자바스크립트 실행 이외 렌더링, 네트워트 응답, GC 등 다양한 역할을 수행함 * 메인 스레드에 많은 작업들이 예약되면 웹 사이트의 성능과 사용성 경험이 저하됨 * 스케줄링을 통해 우선순위가 다른 작업을 효율적으로 등록하고 제어해야 함 어떻게? 우선적으로 Event Loop에 대한 이해가 필요함. 그리고 상황에 맞게 아래 API 활용 1️⃣프레임워크 사용 중 일 때 React의 startTransition, Vue의 nextTick 등 2️⃣1번으로만 대응 안되고, 모든 브라우저 지원 필요할 때 requestAnimationFrame(), requestIdleCallback(), postMessage(), setTimeout() 3️⃣크로미움 기반 브라우저만 대응할 때 scheduler.postTask()