Back to questions
Junior — Middle
83
Имели ли вы практический опыт использования метода debounce в своих проектах?
Answer from AI
sobes.tech 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 мс.