场景
有时候,需要取消或中断 axios 请求,比如在上传一个大文件时,需要中断或者重新选择,这时再让之前的请求继续,就会无意义地占用带宽。
通过 cancel token 取消请求
axios 通过 CancelToken 取消请求。
第一步,创建 cancelTokenSource 对象,它有两个属性:
- token: 传给请求,标记操作取消该请求。
- cancel: 是个方法,需要取消时调用
cancelTokenSource 需要保存起来,供后续的使用。
const cancelTokenSource = axios.CancelToken.source();
第二步,发起请求时传入 token ;
axios.get('/foo', {
cancelToken: cancelTokenSource.token
});
第三步,需要取消时执行 cancel 方法
cancelTokenSource.cancel();
参考: https://stackoverflow.com/questions/38329209/how-to-cancel-abort-ajax-request-in-axios