axios取消请求

本文介绍了在axios版本低于v0.22.0时,如何利用CancelToken来取消请求,以及在umi+dva项目中,如何在react组件、model文件及axios封装的请求方法中实现取消请求的操作。此外,还提供了对AbortController的简要说明。
摘要由CSDN通过智能技术生成

取消请求API

AbortController

axios版本 v0.22.0 开始,Axios支持以 fetch API 方式,取消请求 AbortController

const controller = new AbortController();

axios.get('/foo/bar', {
   
   signal: controller.signal
}).then(function(response) {
   
   //...
});
// 取消请求
controller.abort()

CancelToken

由于项目中使用的axios版本在 v0.22.0 以下,故采取canceltoken的方式进行请求的撤销,这个API已经过时,所以也可以通过升级axios,使用上面的方式

项目采用umi+dva构建方式,在组件中引入取消的逻辑

react组件中使用

const getDetail = useCallback(() => {
   
        const {
   environment, project} = queryParams;
        if(!environment || !project || !selectedTable) return;
        if(cancelQuery) {
   
            cancelQuery('请求被取消了');
        }
        setLoading(true);
        dispatch({
   
            type: 'warehouse/getDataViewDetail',
            payload: {
   
                environment: environment,
                project: project,
                name: selectedTable
            },
            cancelToken: new
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值