Встречается на собеседованиях • сегодня
Как оптимизировать отправку запроса из поисковой строки на стороне пользователя
Используй debounce или throttle для ограничения частоты запросов при вводе текста.
Debounce задерживает отправку запроса до паузы в вводе (например, 300 мс), а throttle ограничивает частоту запросов (например, 1 раз в 300 мс).
Пример с debounce:
javascript
function debounce(func, delay) {
let timeoutId;
return (...args) => {
clearTimeout(timeoutId);
timeoutId = setTimeout(() => func(...args), delay);
};
}
const searchInput = document.getElementById('search');
const fetchResults = debounce((query) => {
fetch(`/api/search?q=${query}`).then(/* обработка */);
}, 300);
searchInput.addEventListener('input', (e) => fetchResults(e.target.value));Дополнительно:
- Отменяй предыдущие запросы с помощью
AbortController - Кешируй результаты на клиенте
- Используй индикатор загрузки

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы