Почему try catch не обрабатывает 401 ошибку по зaпросу

async submitForm() {
  try {
    const res = await this.$http.post("/auth/login", this.loginForm);
    console.log(res);
    console.log("ok");
  } catch (e) {
    console.log("error");
  }
}

В catch не попадает. res будет undefined , и также выведет 'ok'


Ответы (1 шт):

Автор решения: nörbörnën

Описываемое вами поведение не соответствует поведению axios на 401 статусе:

async function fn() {
  try {
    const url = 'https://discord.com/api/v8/guilds/1/emojis';
    const res = await axios.post(url);
    console.log('OK ', res);
  } catch (err) {
    console.error(`error:, ${err}`);
    if (err.response) {
      console.log(err.response.data);
      console.log(err.response.status);
      console.log(err.response.headers);
    }
  }
}

(async () => {
  await fn();
})();
<script src="https://cdnjs.cloudflare.com/ajax/libs/axios/0.21.1/axios.min.js"></script>

→ Ссылка