在vue项目中取消axios请求(单个和全局)

取消axios请求的官方文档说明:http://www.axios-js.com/zh-cn...

单个请求

index.vue--->在请求接口时,除了传递参数,再传递一个this过去。

import requestList from '@/api/list.js'
//发出请求
requestList({id:1},this).then(res=>{}).catch(err=>{})

//取消请求的写法,传进去的是提示
this.cancel("操作取消");

api/list.js---> API接口处,引入axios,定义CancelToken,写new CancelToken

import axios from 'axios'
const CancelToken = axios.CancelToken;

export function searchList(data, that) {
    return request({
        url: '/list',
        method: 'post',
        disLoading: true,
        data,
        cancelToken: new CancelToken(function executor(c) {
            that.cancel = c;
        })
    })
}

全局配置

使用vuex的mixin实现,我跟着代码打了一遍,虽然进入了cancelToken的方法,但是并没有取消请求。来活了,等会再尝试一下。参考代码在:https://github.com/dadaiwei/v...


参考:https://blog.csdn.net/qq_4409...

你可能感兴趣的