Sobes.tech
Middle

functie debounce(callback, delay) {}

sobes.tech AI

Antwoord van AI

De debounce-functie maakt het mogelijk om de frequentie van het aanroepen van de meegegeven callback-functie te beperken. Het vertraagt de uitvoering van callback totdat er een delay-interval is verstreken zonder nieuwe aanroepen. Dit is bijvoorbeeld handig bij het verwerken van invoer- of scrollgebeurtenissen, om te voorkomen dat de functie te vaak wordt aangeroepen.

Voorbeeldimplementatie in JavaScript:

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

// Gebruik:
const debouncedFunc = debounce(() => console.log('Aanroep!'), 300);
window.addEventListener('resize', debouncedFunc);

In dit voorbeeld wordt callback alleen aangeroepen nadat het resize-evenement 300 ms niet heeft plaatsgevonden.