Вы можете перехватить ответ, проверить данные и выдать пользовательскую ошибку в этом случае:
// Add a response interceptor
axios.interceptors.response.use(function(response) {
if (response.data && response.data.statusCode && !(response.data.statusCode >= 200 && response.data.statusCode < 300)) throw new Error()
return response;
}, function(error) {
return Promise.reject(error);
});
// Make a GET request
axios.get(url)
.then((data) => {
console.log('data', data)
})
.catch((e) => {
console.log('error', e)
})
Таким образом вы настраиваете свой экземпляр axios, поэтому вам не нужно повторяться для каждого отдельного запроса в вашемapp
Кроме того, вы можете изменить статус, используя следующий код. Но поскольку проверка состояния уже выполнена, она не выдаст ошибки при неправильных кодах состояния
// Add a response interceptor
axios.interceptors.response.use(function(response) {
if (response.data && response.data.statusCode) response.status = response.data.statusCode
return response;
}, function(error) {
return Promise.reject(error);
});