频繁发送请求时用abort适当取消axios请求

在书写请求的文件里面书写如下代码

import Axios from 'axios'

const CancelToken = Axios.CancelToken

export let cancel = null

export const setCancel = (e) => {

  cancel = e

}

在要取消的请求函数中添加如下代码

cancelToken: new CancelToken(function executor(c) {

        // An executor function receives a cancel function as a parameter

        cancel = c

      })

例如:

export const Getlesson = (params) => {

  const result = axios.get(`/odata/Article/GetDetailListByTag(tags='${params.TagChildrenId}')`, {

    params: {

      $top: params.Limit,

      $skip: (params.Page - 1) * params.Limit,

      $count: true,

      $orderby: params.orderby, //ReadNum desc or CreateTime desc

      $filter: `${ARTICLE_STATUS}`

    },

    cancelToken: new CancelToken(function executor(c) {

      cancel = c

    })

  })

  return result

}

然后在页面中请求发送的地方后面调用

setCancel函数将cancel置为空即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值