Junior — Middle
Hai esperienza pratica nell'uso del metodo debounce nei tuoi progetti?
sobes.tech AI
Risposta dell'AI
Да, метод debounce часто использую для оптимизации обработки событий, которые могут срабатывать слишком часто, например, при вводе текста в поисковую строку или ресайзе окна. Он позволяет задержать выполнение функции до тех пор, пока не прекратится серия быстрых вызовов, что снижает нагрузку и предотвращает лишние операции.
Пример debounce на JavaScript:
function debounce(func, delay) {
let timer;
return function(...args) {
clearTimeout(timer);
timer = setTimeout(() => func.apply(this, args), delay);
};
}
const onResize = debounce(() => {
console.log('Окно изменено');
}, 300);
window.addEventListener('resize', onResize);
В этом примере функция onResize будет вызвана только после того, как пользователь перестанет изменять размер окна на 300 мс.