我们都清楚在XMLHttpRequest对象中可以通过
let xhr = new XMLHttpRequest(); xhr.open('GET or POST', url); xhr.send(); // 取消请求使用 xhr.abort()
在axios客户端中有两种取消当前请求的方式:
第一种通过其内部提供的CancelToken来取消
const CancelToken = axios.CancelToken; const source = CancelToken.source(); axios.post(url, { data }, { cancelToken: source.token } ) // 调用source.cancel()取消请求(可以传参数)
当然,我们也可以通过CancelToken的构造函数方式取消请求
let CancelToken = axios.CancelToken; let cancel = null; axios.get(url, { cancelToken: new CancelToken(function executor(c) { cancel = c; }) }) // 取消请求cancel() 当然我们可以把cancel函数挂载到window对象上,在需要取消请求的组建或页面中调用window.acncel()
标签:axios,请求,取消,source,cancel,CancelToken
From: https://www.cnblogs.com/qianduan-Wu/p/16789723.html