Когда все идет хорошо, он возвращает объект с status: 'OK'
Если что-то идет не так, он возвращает status: 'FAILED'
. В связи с этим подходом мне нужно обрабатывать ошибки в блоках try и catch, например,
try {
const {data} = await axios.post(....);
if(data.status === 'OK') {
// do something and return
}
//handle error
} catch(e) {
// handle Error Again
}
Как видите, мне нужно обработать ошибки два раза.Я использую redux-saga, поэтому я создаю еще один файл для API и обрабатываю его в саге так:
yield = ...my api
// then
if (data.status === 'OK') {
// do something and return
}
и так далее ... Моя конечная цель - сохранить мои саги чистыми.Есть ли способ, которым я могу вызвать API, а затем проверить статус в файле API?Он должен идти к блоку перехвата саги, чтобы мне приходилось обрабатывать только ошибки в моем блоке перехвата?
Моя конечная цель будет такой:
function* doSomethng() {
try {
yield callapi...
//do something
} catch(e) {
// handle errors and even if the api status is 200
// but it returns an object with status 'FAILED' it should come here
}
}