//取消正在进行的http请求(了解,日常使用不多)
let source=axios.CancelToken.source() axios.get('/data.json',{ cancelToken:source.token }).then(res=>{ console.log(res) }).catch(err=>{ console.log(err) }) //取消请求 cancel的参数为可选,为空时 catch的err为空 source.cancel('cancel http') //什么情况会用到取消取消 //crm 需要请求大量数据时 返回时间较久
//取消请求:取消正在进行的HTTP请求
let source = axios.CancelToken.soure() axios.get('/data.json'{ cancelToken:source.token }).then(res=>{ console.log(res) }).catch(err=>{ console.log(err) }) //取消请求(msg可选) source.cancel('cancel http') //什么情况可能用 商城 大批量数据查询 3-5秒
取消请求
使用场景:取消正在进行的http请求(仅作了解、aioxs的这个功能)
使用方法:
声明取消请求:CancelToken相当于对象,source()相当于方法,这样会生成一个Source对象,这个Source对象里有一个token,然后再发送请求时,将token传入第二个参数里。当要取消请求时,需要编写catch方法,正常请求成功会走then方法,取消请求时走catch方法。此时仅是声明了取消请求的动作,但不会触发。
触发取消请求:通过Source对象的cancel方法。该方法有一个Message参数,而这个参数就会进入上面的catch()的err参数中。注意这个Message参数是可选的。如果不写则直接取消请求。
调用source下的cancel方法可以进行请求的取消,带的参数会进入到axios的catch方法中,参数可选不是必填
let source=axios.CancelToken.source()
axios.get('/data.json',{
cancelToken:source.token
}).then(res=>{
console.log(res)
}).catch(err=>{
console.log(err)
})
用到取消请求的地方,
大批量数据的获取可能会造成延迟,
中途用户进行其他数据请求的时候,
那么上一个请求就没用了,这里就可以取消上一个请求
调用source下的cancel方法可以进行请求的取消,带的参数会进入到axios的catch方法中,参数可选不是必填
带有取消请求token的axios必须带有catch方法
先使用source存放axios生成的取消请求token,
在进行请求的时候放到配置参数里面
Axios请求可以取消请求
取消正在进行的http请求