Обработка ошибок axios запроса Vue
При отмене запроса в консоль выводит ошибку в консоль
Как я понимаю, ошибка выводится из-за того, что код заходит в .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>
Источник: Stack Overflow на русском