zoukankan      html  css  js  c++  java
  • Vue切换页面时碰见过中断axios请求的场景吗?如何中断?

    场景:在Vue单页面开发过程中,遇到这样的情况,当我切换页面时,由于上一页面请求执行时间长,切换到该页面时,还未执行完,这时那个请求仍会继续执行直到请求结束,此时将会影响页面性能,并且可能对现在页面的数据显示造成一定影响。

    所以我们应该,切换页面前中断前面所有请求

    1. 使用cancelToken.sourse工厂方法创建cancel token
    const CancelToken = axios.CancelToken;
    const source = CancelToken.source();
    
    axios.get('/user/12345', {
      cancelToken: source.token
    }).catch(function(thrown) {
      if (axios.isCancel(thrown)) {
        console.log('Request canceled', thrown.message);
      } else {
         // 处理错误
      }
    });
    axios.post('/user/12345', {
      name: 'new name'
    }, {
      cancelToken: source.token
    })
    // 取消请求(message 参数是可选的)
    source.cancel('Operation canceled by the user.');
    

      

  • 相关阅读:
    掌门教育首通和续费文案整理
    python upload file遇到的坑,整理如下
    测试难题(转)
    敏捷测试与传统测试的区别
    质量体系
    幂等校验
    Charles常用功能整理
    测试难题
    敏捷测试与传统测试的区别
    质量体系
  • 原文地址:https://www.cnblogs.com/love314159/p/13677517.html
Copyright © 2011-2022 走看看