Junior — Middle
Avez-vous une expérience pratique de l'utilisation de la méthode debounce dans vos projets?
sobes.tech IA
Réponse de l'IA
Да, метод 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 мс.