которую присылает бекенд? Я сейчас делаю это на уровне service/api, в условном классе apiCaller. Но понимаю что этот слой точно не должен знать о том как именно бекенд возвращает ошибку, а уж темболее делать диспатч сторы на логаут (сейчас при инициализации apiCaller я туда стору прокидываю)
Как вариант я в сторе во всех местах где есть запросы могу сделать try/catch и в catch проверять что ошибка имеет определенный код, который пришел из бекенда. Но если в приложении 100 мест где идет запрос к апи, то в 100 местах должен быть этот обработчик 🙂 Это жестко
У меня есть еще errorHandler.helper, который обрабатывает все ошибки по кодам и делает что-то типо "new TooManyRequests()", т.е. на основании кода ошибки прокидывает правильную ошибку, но не знаю норм ли туда эту логику засунуть
В общем, как это лучше всего делается? 🙂
Ну вот так вот делал, на уровне redux-saga
15 строка справа
слева в выделенном вызываю requestExecutor
Ну у меня сейчас +- так же, но чет мне кажется слой вызова реквестов и подавно не должен знать о том, что у меня там за зверь отвечает за бизнес-логику и стору)
Это так то если что saga-middleware Это внутри редакса.
Ааа Сорян, я хз как там редакс варится Увидел RequestExecutor и подумал что это просто api caller 😄
Т.е. по сути вы создали еще один слой, в самой сторе, который делает все запросы к апи?
Ну собсна термин миддлвары об этом и говорит -_-
Да. И вызываю я запрос к серверу не напрямую из обработчика, а посредством специальной саги requestExecutor.
Обсуждают сегодня