Sobes.tech
Middle

funkcja debounce(callback, delay) {}

sobes.tech AI

Odpowiedź od AI

Funkcja debounce pozwala ograniczyć częstotliwość wywołań przekazanej funkcji callback. Opóźnia wykonanie callback do momentu, gdy upłynie zadany interwał delay bez nowych wywołań. Jest to przydatne na przykład podczas obsługi zdarzeń wejścia lub przewijania, aby nie wywoływać funkcji zbyt często.

Przykład implementacji w JavaScript:

function debounce(callback, delay) {
  let timerId;
  return function(...args) {
    clearTimeout(timerId);
    timerId = setTimeout(() => {
      callback.apply(this, args);
    }, delay);
  };
}

// Użycie:
const debouncedFunc = debounce(() => console.log('Wywołanie!'), 300);
window.addEventListener('resize', debouncedFunc);

W tym przykładzie callback zostanie wywołany tylko po tym, jak zdarzenie resize przestanie występować na 300 ms.