Sobes.tech
Junior — Middle

Vai jums ir praktiska pieredze, izmantojot debounce metodi savos projektos?

sobes.tech AI

Atbilde no 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 мс.