Sobes.tech
Junior — Middle

¿Tiene experiencia práctica en el uso del método debounce en sus proyectos?

sobes.tech AI

Respuesta de la 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 мс.