一、引入axios
import axios from 'axios'
二、引入取消方法
const CancelToken = axios.CancelToken;
let cancel
三、请求接口
axios.get(`XXX`, {
cancelToken: new CancelToken(function executor(c) {
// executor 函数接收一个 cancel 函数作为参数
cancel = c;
})
})
四、取消请求
cancel()
可以设置一个开关switch,当true时为正在请求,请求完毕置为false,如果是true时再次请求则取消上次请求。
这只是针对单个接口的,如果是针对多个接口,例如切换页面时需要取消掉上个页面请求未完成的多个接口,需要在统一接口配置文件中,把每个接口的c放入一个数组中,还可以给每个请求设置唯一值,方便取消单个特定的接口