首先需要了解一下,axios的官方API(https://www.kancloud.cn/yunye/axios/234845),知道当中的参数配置。
url?: string;
method?: string;
baseURL?: string;
...省略...
cancelToken?: CancelToken;
在这里,我重点讲的便是cancelToken这个参数。
var CancelToken = axios.CancelToken
var source = CancelToken.source()
// let that = this
axios.interceptors.request.use(function (config) {
// 预处理请求信息(config)
console.log(config)
let dt = new Date()
let pd = intercept.createIntercept(store, config.name, dt.getTime())
if (pd === false) {
config.cancelToken = source.token
// 取消请求(message 参数是可选的)
source.cancel('Operation canceled by the user.')
}
return config
}, function (error) {
// 预处理请求有异常(error)时抛出错误
return Promise.reject(error)
})
核心的