Throttling & Debouncing

solsolsol·2022년 4월 10일
0

JavaScript

목록 보기
10/17

왜 사용할까?

함수 과하게 호출되지 않도록(over clock) 실행되는 속도를 제어하기 위해서 사용한다. 두 함수 모두 lodash 라이브러리를 사용하면 편하다.

Throttle

Throttling은 함수가 주어진 시간 동안 한 번 이상 호출되는 것을 막는다. 다른 말로 하면 한 번 실행한 뒤 일정 시간을 기다리고, 시간이 지나면 다시 실행한다. throttling 에 대한 대표적 예시로는 무한 스크롤을 예로 들 수 있다.

Debounce

Debouncing은 함수가 마지막으로 호출된 후 특정 시간까지 실행되지 않도록 해준다. 즉, 특정 시간이 지날 때까지 재반복이 일어나지 않을 경우 한 번만 실행한다. 주로 빠르게 발생하는 키보드 입력 이벤트에서 사용한다.

0개의 댓글