Взгляните на отмену аксиосов
Также есть довольно хорошая библиотека здесь
Если вы все ещене понимаю, взгляните ниже:
<template>
<div>
<button @click="send">Send Request</button>
<button @click="cancel">Cancel Request</button>
{{message}}
</div>
</template>
И скрипт:
<script>
import axios from 'axios'
const CancelToken = axios.CancelToken;
let cancel;
export default {
data () {
return {
message: ''
}
},
methods: {
send () {
this.message = 'Request is beign executed...'
axios.get('here_put_the_url', {
cancelToken: new CancelToken(function executor(c) {
// An executor function receives a cancel function as a parameter
cancel = c;
})
}).then(response => this.message = 'The response from server is:' + response)
},
cancel () {
cancel()
this.message = 'The request cancelled'
}
}
}
</script>
Пример с почтовым запросом:
axios.post
(
'here_put_the_url',
{ params_here },
{
cancelToken: new CancelToken(function executor(c) {
// An executor function receives a cancel function as a parameter
cancel = c;
}
)