Встречается на собеседованиях • сегодня
Сталкивался ли с race condition при работе с запросами к API
Да, race condition может возникнуть, когда несколько асинхронных запросов выполняются параллельно, а их порядок завершения влияет на конечный результат. Например, если пользователь быстро меняет фильтры в интерфейсе, старые запросы могут вернуться позже новых, перезаписав актуальные данные.
javascript
let lastRequestId = 0;
async function fetchData(params) {
const currentRequestId = ++lastRequestId;
const response = await api.get('/data', { params });
// Проверяем, что это последний запрос
if (currentRequestId === lastRequestId) {
updateUI(response.data);
}
}Способы борьбы:
- Отмена предыдущих запросов через AbortController
- Использование флагов (как в примере)
- Дебаунс/троттлинг ввода
- Очередь запросов
Наиболее надежный способ - отмена через AbortController, который поддерживается в axios и fetch API.

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