공부 자료

스크롤 이벤트, 원도우 리사이즈 처럼 한꺼번에 무수히 많은 이벤트가 발생하는 경우가 있습니다.

또는 연관 검색어 처럼 서버와 통신하는 무거운 연산이 연달아 호출될 수도 있습니다.

이때 모든 이벤트에 이벤트 핸들러 함수가 호출된다면 불필요한 호출이 증가하고 심하면 성능상 문제가 될 수 있습니다. 서버와 통신하는 경우라면 통신 비용 낭비도 심해집니다.

이 경우 debounce, throttle를 사용하여 이벤트를 제어해 불필요한 호출을 줄일 수 있습니다.

for 불필요한 연산 최소화, 통신비용 절약, 사용자 경험 향상

Untitled

Debounce

연속적인 이벤트가 끝났을 때 n초 후 마지막 이벤트만 호출합니다.

이벤트가 연속적이지 않다면 (= 큰 간격으로 발생된다면) 디바운싱은 발생하지 않습니다.

최종값에 관심이 있는 경우 적합합니다.

Throttle

이벤트를 일정한 주기마다(n초) 호출합니다.