axios取消请求

Axios 使用 cancel token 取消请求

1、先在axios请求中加上cancelToken

复制代码
import request from '../utils/request' // 配置过的Axios 对象
import axios from 'axios' 

export function getDetail(params, that) { 
  return request({
    url: '/api/indexlineage/detail', 
    method: 'get',
    params: params,
    cancelToken: new axios.CancelToken(function executor(c) { // 设置 cancel token
      that.source = c;
    })
  })
}

2、在组件中调用

复制代码
import { getDetail} from "../api";
export default {
    data() {
      return {
        source: null
      }
    },
    methods: {
      cancelQuest() {
        if (typeof this.source === 'function') {
          this.source('终止请求'); //取消请求
        }
      },
      getDetailData(val) {
        this.cancelQuest() // 请求发送前调用
        let params = {
            id: '1',
        }
        getDetail(params, this).then(res => {
              console.log(res)
            }
        )
    }
}
相关推荐
kaico20181 分钟前
Python 在 Jenkins Pipeline 中的使用总结
开发语言·python·jenkins
流浪0012 分钟前
C++篇:深入理解 C++ 智能指针:从裸指针到 RAII 的蜕变
开发语言·c++
IT_陈寒3 分钟前
React的useEffect里设状态?我又踩雷了
前端·人工智能·后端
丘山望岳3 分钟前
二叉搜索双壁——map和set
开发语言·数据结构·c++
恋猫de小郭5 分钟前
GSY 史上最全跨平台/架构/语言的项目,七大项目召唤「神龙」
android·前端·flutter
瑞雪兆丰年兮6 分钟前
[从0开始学Java|第十六、十七天]项目阶段(拼图小游戏)
java·开发语言
AI人工智能+电脑小能手6 分钟前
【大白话说Java面试题 第85题】【Mysql篇】第15题:MySQL 的事务中,幻读是怎么解决的?
java·开发语言·数据库·mysql·面试
范什么特西11 分钟前
狂神Vue
前端·javascript·vue.js
yaoxin52112313 分钟前
423. Java 日期时间 API - DayOfWeek 和 Month 枚举
开发语言·python
秋雨梧桐叶落莳18 分钟前
iOS——抽屉视图详解
开发语言·macos·ui·ios·objective-c·cocoa