Ошибка консоли с vue -auth и ax ios: «Неперехваченная (в обещании) ошибка: запрос завершился неудачно с кодом состояния 401» - PullRequest
0 голосов
/ 07 августа 2020

Для аутентификации я использую vue-auth@^3.2.0-beta с HTTP-драйвером ax ios. Сам ax ios находится на версии 0.19.2.

Пример кода

this.$auth.login({ data: body, redirect: false }).then(
() => {
    // Do success stuff...
},
e => {
    this.error = true
    if (e.response.status === HttpStatus.UNAUTHORIZED) {
      this.loginFailed++;
    }
});

Если пользователь предоставляет неверные учетные данные, сервер отвечает 401 и отображается сообщение об ошибке. Это работает как надо.

Однако при проверке консоли я вижу следующее сообщение об ошибке. Кажется, что это не имеет никаких «функциональных последствий», но мне интересно, почему возникает эта ошибка. Хотя я понимаю, что должно быть какое-то невыполненное обещание, я понятия не имею, где это может быть.

Uncaught (in promise) Error: Request failed with status code 401
    createError createError.js:16
    settle settle.js:17
    handleLoad xhr.js:61
    dispatchXhrRequest xhr.js:36
    xhrAdapter xhr.js:12
    dispatchRequest dispatchRequest.js:52
    promise callback*request Axios.js:61
    wrap bind.js:9
    node_modules axios.1.x.js:51
    node_modules vue-auth.esm.js:819
    node_modules vue-auth.esm.js:818
    node_modules Login.vue?vue&type=script&lang=js&:149
    VueJS 4
    method backend.js:1793
    node_modules UAForm.vue?vue&type=script&lang=js&:12
    submit UAForm.vue:13
    VueJS 33
createError.js:16

1 Ответ

0 голосов
/ 07 августа 2020

Думаю, проблема в использовании ax ios! в вашем коде нет ловушки.

Я думаю, ваш код должен содержать ловушку, как показано ниже

login () {
      this.$auth.login({
        data: this.data,
      })
        .then((res) => {    
         ....
        })
        .catch((err) => {
         .....    
        })
      }
...