스터디/모던 자바스크립트 Deep Dive(24.02-24.06)
41장. 타이머
minseokiim
2024. 5. 20. 18:57
1. 호출 스케줄링
함수를 명시적으로 호출하여 즉시 실행하지 않고, 일정 시간 경과된 후에 호출되도록 타이머 함수 사용하는 것을 의미.
2. 타이머 함수
: 빌트인 객체가 아닌 호스트 객체, 비동기 처리 방식으로 동작
1) setTimeout : 일정 시간 경과 후, 단 한번 동작
2) setInterval : 일정 시간 경과 후, 반복 동작
공통점 : 일정 시간 경과 후 콜백함수 호출, 타이머 식별 할 수 있는 고유한 타이머 id 반환
3. 디바운스와 스로틀
1) 디바운스 : 이벤트 핸들러 호출하지 않다가, 일정시간 경과후 이벤트 발생하지 않을 때 이벤트 핸들러 마지막 한 번만 호출.
2) 스로틀 : 일정 시간 간격으로 이벤트 핸들러가 최대 한 번만 호출되도록 호출 주기를 만듦.
공통점 : 짧은 시간 간격으로 연속 발생하는 이벤트를 그룹화 해서, 과도한 이벤트 핸들러 호출 방지
※ 디바운스와 스로틀의 가장 큰 차이점
: 스로틀은 정기적으로 기능 실행을 보장한다는 것
디바운스는 아무리 많은 이벤트가 발생해도 모두 무시하고 특정 시간사이에 어떤 이벤트도 발생하지 않았을 때 딱 한번만 마지막 이벤트를 발생시킴.