【axios】取消在pending的请求

1. 背景

短时间内多次发送异步请求,结果返回的快慢不一导致数据显示有误,希望获得并展示最新请求结果。可以通过取消前面在pending的请求实现以上需求。

2.取消pending请求的实现代码片段

if(this.state.source){
  this.state.source.cancel('The request is canceled!');   // 在需要的时候执行cancel方法可以取消多个在pending的请求。
}
const source = axios.CancelToken.source(); 
this.setState({ source: source });
axios.post(url, data, { cancelToken: source.token}).then(res=>{}).catch(err=>{})

注意get的cancelToken放置在第二个参数的对象里面,post的cancelToken放置在第三个参数对象里面。




参考文档:https://blog.csdn.net/RkHker/article/details/109024561
posted @ 2022-10-19 14:56  leah-xx  阅读(414)  评论(0编辑  收藏  举报