zoukankan      html  css  js  c++  java
  • vue axios CancelToken

    CancelToken:取消上一个路由未响应的接口

    1.新建一个CancelToken.js,定义一个全局变量

    export default class CancelToken {
       static cancelRequest = { // static类型不用实例化,可直接调用
            source: {
                token: null,
                cancel: null
            }
        };
    }

    2.在封装的axios请求中,新增请求拦截器

    // 请求拦截器
    axiosInstance.interceptors.request.use(config => {
        config.cancelToken = CancelToken.cancelRequest.source.token;
        return config;
    }, error => Promise.reject(error));

    3.在main.js中进行路由拦截

    // 取消上一路由pending接口
    router.beforeEach((to, from, next) => {
        CancelToken.cancelRequest.source.cancel && CancelToken.cancelRequest.source.cancel("取消请求");
        CancelToken.cancelRequest.source = axios.CancelToken.source();
        console.log(CancelToken.cancelRequest.source);
        next();
    });

    参考链接: cancelToken

  • 相关阅读:
    Mac安装zookeeper
    征途
    vue-配置文件
    数组去重
    判断身份证
    判断邮箱
    判断手机号是否正确
    JS 时间格式转换
    打印 print-js
    自"愚"自乐的云服务器
  • 原文地址:https://www.cnblogs.com/huangmin1992/p/15655111.html
Copyright © 2011-2022 走看看