• 需求:对于同一个接口,发起新请求时取消上一次请求(如果上一次请求结果还未返回)
  • 参考:
    • 提示:本文使用了第二种方法。
  • 原文地址:使用说明 · 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

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

更多推荐