Вопрос проверяет понимание асинхронных проблем, возникающих при нескольких конкурентных запросах.
Race condition — это ситуация, когда несколько запросов выполняются параллельно, и результат более медленного запроса перезаписывает результат более быстрого. В итоге состояние приложения может оказаться некорректным. Это часто происходит при быстрых изменениях параметров запроса. Проблема связана не со скоростью сети, а с порядком завершения запросов.
Race condition — это ошибка, возникающая из-за неопределённого порядка завершения асинхронных операций.
Представим поиск по мере ввода:
Пользователь вводит "r"
Отправляется запрос search?q=r
Пользователь быстро вводит "re"
Отправляется запрос search?q=re
Ответ для "r" приходит позже и перезаписывает данные
State обновляется асинхронно
React не знает, какой запрос “актуальный”
UI может показывать устаревшие данные
Поиск
Фильтрация
Переключение вкладок
Автозагрузка данных
Race condition возникает, когда несколько запросов конкурируют за обновление состояния, и порядок их завершения не контролируется.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию