Debounce
Дебаунс — это техника ограничения частоты вызова функции. В течение заданной задержки все входящие вызовы игнорируются, а выполняется только один — либо первый (leading), либо последний (trailing), в зависимости от настроек. Это помогает оптимизировать производительность и избежать лишних вычислений при частых событиях.
Применение:
- Обработчики ввода: ждать паузы перед запросом автодополнения.
- События прокрутки/изменения размера: запускать вычисления после остановки действий пользователя.
- Клики и сабмиты: предотвращать множественные отправки.
Отличие от троттлинга: троттлинг гарантирует вызовы с фиксированным интервалом, а дебаунс — один вызов после серии событий (или сразу первый, если включен leading).
Ключевые параметры:
- delay: время ожидания.
- leading/trailing: когда вызывать — в начале или в конце паузы.
- maxWait (если предусмотрено): гарантирует вызов, даже если события не прекращаются.