minseokiim 2024. 5. 20. 18:57

1. 호출 스케줄링

함수를 명시적으로 호출하여 즉시 실행하지 않고, 일정 시간 경과된 후에 호출되도록 타이머 함수 사용하는 것을 의미.

 

 

2. 타이머 함수

: 빌트인 객체가 아닌 호스트 객체, 비동기 처리 방식으로 동작

 

1) setTimeout : 일정 시간 경과 후, 단 한번 동작

2) setInterval : 일정 시간 경과 후, 반복 동작

 

공통점 : 일정 시간 경과 후 콜백함수 호출, 타이머 식별 할 수 있는 고유한 타이머 id 반환

 

 

3. 디바운스와 스로틀

1) 디바운스 : 이벤트 핸들러 호출하지 않다가, 일정시간 경과후 이벤트 발생하지 않을 때 이벤트 핸들러 마지막 한 번만 호출.

2) 스로틀 : 일정 시간 간격으로 이벤트 핸들러가 최대 한 번만 호출되도록 호출 주기를 만듦.

 

공통점 : 짧은 시간 간격으로 연속 발생하는 이벤트를 그룹화 해서, 과도한 이벤트 핸들러 호출 방지

 

※ 디바운스와 스로틀의 가장 큰 차이점
: 스로틀은 정기적으로 기능 실행을 보장한다는 것
디바운스는 아무리 많은 이벤트가 발생해도 모두 무시하고 특정 시간사이에 어떤 이벤트도 발생하지 않았을 때 딱 한번만 마지막 이벤트를 발생시킴.