Hacker News Digest

04 августа 2025 г. в 16:04 • developer.mozilla.org • ⭐ 133 • 💬 81

OriginalHN

#javascript#debounce#throttling#async#reactjs#frontend

Debounce

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

Применение:

  • Обработчики ввода: ждать паузы перед запросом автодополнения.
  • События прокрутки/изменения размера: запускать вычисления после остановки действий пользователя.
  • Клики и сабмиты: предотвращать множественные отправки.

Отличие от троттлинга: троттлинг гарантирует вызовы с фиксированным интервалом, а дебаунс — один вызов после серии событий (или сразу первый, если включен leading).

Ключевые параметры:

  • delay: время ожидания.
  • leading/trailing: когда вызывать — в начале или в конце паузы.
  • maxWait (если предусмотрено): гарантирует вызов, даже если события не прекращаются.