Middle
funkcia debounce(callback, delay) {}
sobes.tech AI
Odpoveď od AI
Funkcia debounce umožňuje obmedziť frekvenciu volania odovzdanej funkcie callback. Odkladá vykonanie callback do doby, kým ne uplynie zadaný interval delay bez nových volaní. Toto je užitočné napríklad pri spracovaní udalostí zadávania alebo posúvania, aby sa funkcia nevolala príliš často.
Príklad implementácie v JavaScripte:
function debounce(callback, delay) {
let timerId;
return function(...args) {
clearTimeout(timerId);
timerId = setTimeout(() => {
callback.apply(this, args);
}, delay);
}
// Použitie:
const debouncedFunc = debounce(() => console.log('Volanie!'), 300);
window.addEventListener('resize', debouncedFunc);
V tomto príklade bude callback zavolaný až po tom, čo sa udalosť resize prestane diať na 300 ms.