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)
            }
        )
    }
}
相关推荐
kyriewen8 分钟前
我拿 4 个真实前端任务试了 GLM-5.3 Flash:代码一遍跑通,账单 4 分钱
前端·程序员·ai编程
IT_陈寒8 分钟前
Vue的响应式更新有时候真的不听话
前端·人工智能·后端
风骏时光牛马25 分钟前
AI编程常见问题梳理与要点解析
前端
前端snow28 分钟前
ai agent -- LCEL 汇总
前端
SLD_Allen1 小时前
Go语言runtime全景
开发语言·javascript·golang
Elastic 中国社区官方博客1 小时前
OpenTelemetry Java 扩展:无需分叉 agent 即可自定义追踪
java·大数据·运维·开发语言·数据库·人工智能·elasticsearch
计算机魔术师1 小时前
NVIDIA 季度营收指引达 1080 亿美元,首次突破单季千亿大关
前端
不灭的黄金瞳1231 小时前
C语言手写顺序表
c语言·开发语言·数据结构
阿无,1 小时前
Java多线程面试题之AQS
java·开发语言