axios终止正在执行的http请求
axios官方文档做了详细解释,这里不做过多解释只做开箱即用的方法
当你装的axios版本低于v0.22.0使用CancelToken
import axios from "axios"
const CancelToken = axios.CancelToken;
const source = CancelToken.source();
//开始请求
axios.get('/user/12345', {
params:'这是请求参数'
cancelToken: source.token
})
// 取消请求
function calHttp () {
return source.cancel('取消提交');// 取消请求(message 参数是可选的)
}
当你装的axios版本高于或等于v0.22.0使用AbortController
const controller = new AbortController();
//开始请求
axios.get('/user/12345', {
params:'这是请求参数'
signal: controller.signal
})
// 取消请求
function calHttp () {
return controller.abort();// 取消请求(不支持 message 参数)
}