Обработка ошибок axios запроса Vue

Рейтинг: 0Ответов: 0Опубликовано: 04.08.2023

При отмене запроса в консоль выводит ошибку в консоль введите сюда описание изображения

Как я понимаю, ошибка выводится из-за того, что код заходит в .then . Помогите,пожалуйста,исправить.

Код запроса

submitFile() {
            if(this.showSpinner){
                this.controller.abort();
                this.toast.warning('Запрос отменен')
                console.log(this.controller.signal.aborted)
            }
            else{
                this.controller = new AbortController()
                console.log('axios')
                this.loaded = false
                this.showSpinner = true
                axios.post('/api/comparison/excel/invoice/payment',
                    {
                        test: this.file,
                        startDate: this.date[0],
                        endDate: this.date[1],
                        modelTechnique: this.modelTechnique,
                    },
                    {
                        headers: {
                            'Content-Type': 'multipart/form-data',
                        },
                        signal: this.controller.signal
                    })
                    .then(res => {
                        if(res.status === 200){
                            this.comparePartsData = res.data
                        }
                        this.loaded = true
                        this.toast.success('Запрос выполнен')
                    })
                    .finally(() => {
                        this.showSpinner = false
                    })
                    .catch(err => {
                       this.toast.error(err.message);
                    })
            }
        },

Код кнопки для использования функции

<button class="btn" @click="submitFile">
                                <span class="button-spinner" v-if="showSpinner"></span>
                                <span class="input-button-text" v-show="!showSpinner">Отправить</span>
                            </button>

введите сюда описание изображения

Ответы

Ответов пока нет.