zoukankan      html  css  js  c++  java
  • axios 取消上一次的请求

    需求

     在select change事件中,由于每次change都要去请求接口,但是这个接口返回的极慢,就会出现了,切换了多次,请求了很多次,

    但是可能有的请求返回错误,有的有数据

    接着,在接口请求超时或者是返回成功的时候,就会出现

    页面上可能一直在弹出请求失败的消息,而下拉中缺有数据的尴尬请求

    为了解决这种情况,我在axios中进行取消处理

    引入axios
    import axios from 'axios';
     
    //
    const CancelToken = axios.CancelToken;
    在全局先定义一个cancle变量
    window.cancle=null;
    .... //省略其他代码
    res = await axios({ url: `${process.env.apiBase}${url}`, method, data, params, timeout, //跨域请求是否需要凭证,默认false withCredentials, headers, responseType, cancelToken:new CancelToken(function executor(c) { 在axios封装的函数中写上这句就可以了 window.cancle = c; }) })
    ....省略其他代码


    使用

    handleSourChange(value){   //在切换select的操作中
            cancle();
            if(value){
              this.getTableListFn(value);
            }
              
       },

    就可以了

  • 相关阅读:
    C语言内存分析
    算法之快速排序
    单链表逆转
    C程序设计语言之一
    vim插件配置(一)
    makefile示例
    cocos2d基础入门
    Makefile
    Makefile
    GCC编译四阶段
  • 原文地址:https://www.cnblogs.com/fyjz/p/13564170.html
Copyright © 2011-2022 走看看