iOS/Combine
Throttle과 Debounce의 차이점
까칠코더
2023. 5. 31. 10:17
반응형
Throttle과 Debounce는 둘 다 이벤트 처리를 제어하기 위해 사용되는 개념입니다.
- Throttle(쓰로틀):
쓰로틀은 일정 시간 간격으로 이벤트를 제한하는 기술입니다. 일반적으로 지정된 시간 동안 첫 번째 이벤트를 실행하고, 그 후 지정된 시간 내에 추가 이벤트가 발생하면 무시합니다. 주로 연속된 이벤트에서 일정한 간격으로 처리해야 할 때 사용됩니다. 예를 들어, 사용자의 스크롤 동작에서 스크롤 이벤트를 일정한 주기로 처리하고자 할 때 쓰로틀을 사용할 수 있습니다. - Debounce(디바운스):
디바운스는 이벤트를 지연시키고 마지막 이벤트만을 처리하는 기술입니다. 디바운스는 일정 시간 동안 이벤트가 연속으로 발생하면 타이머를 재설정하고, 일정 시간 동안 추가 이벤트가 없을 때에만 마지막 이벤트를 처리합니다. 디바운스는 사용자 입력과 같이 연속된 이벤트에서 마지막 이벤트에만 반응하고자 할 때 유용합니다. 예를 들어, 사용자의 키보드 입력에서 검색 기능을 구현할 때 디바운스를 사용하여 사용자가 타이핑을 완료한 후 일정 시간이 지난 후에만 검색 요청을 보낼 수 있습니다.
반응형