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.