Middle
funcție debounce(callback, delay) {}
sobes.tech AI
Răspuns de la AI
Funcția debounce permite limitarea frecvenței de apelare a funcției callback transmise. Ea întârzie executarea callback până când trece un interval delay fără noi apeluri. Acest lucru este util, de exemplu, la procesarea evenimentelor de introducere sau derulare, pentru a nu apela funcția prea des.
Exemplu de implementare în JavaScript:
function debounce(callback, delay) {
let timerId;
return function(...args) {
clearTimeout(timerId);
timerId = setTimeout(() => {
callback.apply(this, args);
}, delay);
};
}
// Utilizare:
const debouncedFunc = debounce(() => console.log('Apel!'), 300);
window.addEventListener('resize', debouncedFunc);
În acest exemplu, callback va fi apelat doar după ce evenimentul resize încetează să se întâmple timp de 300 ms.