Обе техники ограничивают частоту выполнения функции в ответ на быстрые, повторяющиеся события — но используют разные стратегии синхронизации.
- Debounce: выполнить функцию только после остановки активности на N мс. Сбросить таймер при каждом вызове. → "подождите, пока закончится."
- Throttle: выполнить функцию не более одного раза в N мс при непрерывной активности. → "выполнять с постоянной частотой."
text
events: x x x x x x x ........ x x x
debounce: ↑ (fires once, after the pause)
throttle: ↑ ↑ ↑ ↑ (fires periodically)
