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