Oba ograniczają, jak często funkcja jest wykonywana w odpowiedzi na szybkie, powtarzające się zdarzenia — ale z różnymi strategiami czasowymi.
- Debounce: uruchom funkcję tylko po zatrzymaniu aktywności na N ms. Resetuj timer przy każdym wywołaniu. → "czekaj, aż skończy."
- Throttle: uruchom funkcję co najwyżej raz na N ms podczas ciągłej aktywności. → "uruchom ze stałą częstotliwością."
text
events: x x x x x x x ........ x x x
debounce: ↑ (fires once, after the pause)
throttle: ↑ ↑ ↑ ↑ (fires periodically)
