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

Как ограничить количество запросов к Endpoint

Можно использовать паттерн debounce или throttle для контроля частоты запросов.

Debounce – задержка запроса до окончания ввода (например, поиск).
Throttle – ограничение частоты запросов (например, скролл).

Пример с lodash:

javascript
import { debounce } from 'lodash';

const fetchData = debounce(async (query) => {
const response = await fetch(/api/search?q=${query});
return response.json();
}, 300); // Задержка 300 мс

text

Нативный вариант (throttle):  
```javascript
let lastCall = 0;
function throttledFetch() {
  const now = Date.now();
  if (now - lastCall < 1000) return; // 1 запрос в секунду
  lastCall = now;
  fetch('/api/data');
}

Для серверного ограничения можно добавить заголовки Retry-After или использовать токены (например, rate-limiter-flexible для Node.js).

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

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

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

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