• 需求:对于同一个接口,发起新请求时取消上一次请求(如果上一次请求结果还未返回)

 提示:本文使用了第二种方法

  • 原文地址:使用说明 · Axios 中文说明 · 看云
  • 代码实现:
  • 未处理前
    import request from '@/utils/request'
     
    export function getTrackChartDataApi(data) {
      return request({
        method: 'post',
        url: '/charts/routeMap',
        data,
      })
    }

  • 处理后
    import request from '@/utils/request'
     
    import axios from 'axios'
    const { CancelToken } = axios
    let cancel = ''
     
    export function getTrackChartDataApi(data) {
      return request({
        method: 'post',
        url: '/charts/routeMap',
        data,
        cancelToken: new CancelToken(cancelFn => {
          cancel && cancel()
          cancel = cancelFn
        }),
      })
    }

  • 提示:如果request实例已经做了相同的配置,可能导致此处的配置被覆盖从而失效。
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐