Axios не работает, когда устройство отключено от vue.js - PullRequest
0 голосов
/ 06 февраля 2019

У меня есть приложение nativescript vue.js, которое подключается к конечной точке, чтобы получить токен, когда пользователь нажимает логин, используя axios.

, когда телефон эмулятора отключен, вызов axios все еще выполняется, а затемвыполняется так, как если бы был выполнен успешный запрос, глядя на вкладку сети, есть выполненный запрос, но он ожидает навсегда, и вызов axios немедленно возвращается.

если я запускаю axios в приложении на основе браузера, это не такпохоже, не получается точно так же.

Это мой код вызова для:

   methods:{
            submit()
                { this.axios.post('https://backendauth.free.beeceptor.com/api/login',this.user)
                .then((response) => {
                    console.log('Detected as a success')
                    console.log(response.status)
                    console.log(response)
                    console.log(response.data.success.token)
                    this.data = JSON.stringify(response.data)
                    this.$navigateTo(this.$router['home'])
                }).catch((err)=>{
                    if (err.response.status === 401) {
                        console.log(err)
                    }
                    else
                    {
                        console.log(err.response)
                    }

                    })
                this.submitting = 'form clicked'
            }

Я создал репозиторий, демонстрирующий это

https://github.com/jachno/basicAuth

Это изображение показывает, что консольный запрос был успешным с устройством, подключенным к сети

Working Request

, и это показывает, что вызов работает по сети

Network call

И это показывает ожидающий запрос сети, когда он находится в режиме полета

enter image description here

Теперь это показывает, как выглядит консоль, когдаустройство в режиме полета:

Console with Flight mode enabled

1 Ответ

0 голосов
/ 06 февраля 2019

При сбое вызова Http состояние устанавливается на null, Axios считает это успешным.Таким образом, временным решением может быть проверка вашего статуса на null при вашем успешном обратном вызове.Если это null, то считайте это неудачей.

Вы также можете проверить, установлено ли для связность значение none, чтобы узнать, действительно ли ваше устройство отключено.

Возможно, вы захотите поднять ошибку в Github репо по этому поводу.

...