#javascript #error-handling #axios #http-status-codes
#javascript #обработка ошибок #axios #http-status-codes
Вопрос:
Предположим, у нас есть следующий код JavaScript:
axios.get('/some-url')
.then((response) => {...})
.catch((error) => {...});
По умолчанию, какие коды состояния HTTP ответа приводят к .then()
вызову, а какие .catch()
?
Ответ №1:
Это определяется настройкой validateStatus
.
По умолчанию это значение задается следующим образом в lib/defaults.js:
validateStatus: function validateStatus(status) {
return status >= 200 amp;amp; status < 300;
}
Таким образом, любые коды состояния в диапазоне 200 приведут к .then()
вызову, тогда как любые другие коды состояния .catch()
будут вызываться.
Его можно изменить следующим образом:
let myAxiosInstance = axios.create({
validateStatus: function (status) {
return status >= 200 amp;amp; status < 500;
}
});