개발자

Throttle vs debounce

2022년 09월 22일조회 143

onScroll 이벤트 핸들러를 사용하는데요. 호출이벤트가 빠른시간에 여러번 발생해서 문제를 겪고 있습니다. (console.log가 엄청나게 찍히고 있습니다 ㅎㅎ) Throttle이나 debounce의 기능을 사용해서 해결해야한다고 힌트를 얻었는데요. 각각의 특징과 각각 언제 사용되는지에 대한 예시를 설명해 주실 분 계신가요?

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 1

송현지님의 프로필 사진

https://careerly.co.kr/comments/67500?utm_campaign=self-share 윗 글에 throttle과 debounce에 대한 차이점을 써놨어요 이것도 참고하시면 좋을 것 같아용 throttle은 한번에 너무 많은 이벤트에 모두 반응하지 않되 주기적으로는 한번씩 반응해야할 때 사용해요. 인피니트 스크롤 페이지 같은 경우에 스크롤 이벤트가 발생할 때마다 데이터를 가져오는 게 아니라 100ms마다 이벤트가 발생했다면 데이터을 가져오는 식으로 이벤트에 대한 반응을 제어할 수 있어요. debounce 는 많은 이벤트가 발생했을 때 가장 마지막 이벤트에 대해서만 반응해요. (굳이 매번 반응하지 않고 마지막 결과물이 중요할때 사용해요). 예를들어 검색창에서 input에 입력이 들어올 때마다 검색 요청을 하면 입력할 때 버벅거릴 수 있으니 디바운스를 걸어서 첫번째 이벤트 이후로 100ms 동안 반응하지 않다가 그 시간이 지나면 마지막 이벤트에 대해 반응하는 식으로 실행돼요

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로

지금 가입하면 모든 질문의 답변을 볼 수 있어요!