Фильтры Throttling VS Debounce
Оказывается, они работают по-разному )
Еще посты об IT в ИТ БД → t.me/it_bd
Оба этих фильтра используются для того, чтобы не дублировать события.
Например, пользователь злостно и быстро кликает на кнопку «Обновить» десять раз подряд.
Но нам достаточно сделать один запрос к беку вместо десяти, чтобы получить актуальное значение.
В этом случае нужно отфильтровать лишние события, то есть пропустить лишние клики, обработав лишь 1 событие.
И тут есть два подхода:
Throttling — пропускает первое событие и игнорирует остальные N миллисекунд
Например, если установить Throttling = 500мс, то обработается первый клик, а все следующие 500мс клики будут игнорироваться.
Debounce — отсчитывает N миллисекунд после последнего события и только после этого пропускает последнее событие.
Например, если установить Debounce = 500мс, то клики будут игнорироваться, пока пользователь не сделает перерыв в 500мс. После 500мс простоя последнее событие обработается.