Sobes.tech
Middle

debounce funktsioon(callback, delay) {}

sobes.tech AI

Vastus AI-lt

Funktsioon debounce võimaldab piirata antud callback funktsiooni kutsumise sagedust. See viibib callback täitmise kuni määratud delay intervalli möödumiseni ilma uute kutsumisteta. See on kasulik näiteks sisestus- või kerimisürituste töötlemisel, et mitte kutsuda funktsiooni liiga sageli.

JavaScripti näide:

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

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

Selles näites kutsutakse callback ainult siis, kui resize sündmus on toimunud 300 ms jooksul ilma uute sündmusteta.