Установите loading перед запуском запроса, обработайте ошибку в catch и сбросьте loading в finally. При гонках учитывайте актуальность запроса.
Как правильно инициализировать и сбрасывать loading при запросе данных, включая ошибку?
Установите loading перед запуском запроса, обработайте ошибку в catch и сбросьте loading в finally. При гонках учитывайте актуальность запроса.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Установите loading перед запуском запроса, обработайте ошибку в catch и сбросьте loading в finally. При гонках учитывайте актуальность запроса.
Для одного запроса схема проста: loading=true → try/await → catch → finally/loading=false. При нескольких параллельных запросах старый finally не должен выключать индикатор нового: используйте request ID либо счётчик активных операций в зависимости от смысла индикатора.