Выбор ответа Junior Функции высшего порядка спрашивают часто обновлено

Debounce или throttle для поиска

Вопрос

Поиск с подсказками должен отправлять запрос, когда пользователь перестал печатать на 300 мс. Что нужно?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: debounce на 300 мс. debounce откладывает вызов, пока события продолжаются, и срабатывает через заданную паузу после последнего.

Варианты ответа

  1. throttle на 300 мс
  2. setInterval на 300 мс
  3. requestAnimationFrame
  4. debounce на 300 мсправильный ответ

Разбор

debounce откладывает вызов, пока события продолжаются, и срабатывает через заданную паузу после последнего. Это ровно «перестал печатать на 300 мс». throttle вызывал бы функцию раз в 300 мс прямо во время набора: лишние запросы с недописанным словом. setInterval стреляет независимо от ввода. requestAnimationFrame про синхронизацию с отрисовкой кадра, а не про паузы ввода.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.