Junior — Middle
Projelerinde debounce yöntemini kullanma konusunda pratik deneyiminiz var mı?
sobes.tech yapay zeka
AI'dan gelen yanıt
Да, метод 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 мс.