Встречается на собеседованиях • сегодня

Каким способом уменьшить количество работы обработчиков

Используй дебаунс (debounce) и троттлинг (throttle) для оптимизации частых вызовов обработчиков.

Дебаунс откладывает выполнение функции до паузы в событиях:

javascript
function debounce(func, delay) {
  let timeout;
  return (...args) => {
    clearTimeout(timeout);
    timeout = setTimeout(() => func(...args), delay);
  };
}

Троттлинг ограничивает частоту вызовов:

javascript
function throttle(func, limit) {
  let inThrottle;
  return (...args) => {
    if (!inThrottle) {
      func(...args);
      inThrottle = setTimeout(() => inThrottle = false, limit);
    }
  };
}

Примеры применения:

  • Дебаунс – поиск при вводе в инпут.
  • Троттлинг – обработка скролла или ресайза.

Также можно использовать мемоизацию для кеширования результатов функций.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы