JavaScript两种axios取消请求方式小结

 更新时间:2023年03月24日 09:30:40   作者:新一代孔乙己  
本文主要介绍了JavaScript两种axios取消请求方式小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

在使用 axios 发起请求时,有两种方法可以取消请求:

  • 通过 CancelToken 实例来取消请求
    您可以通过创建一个 CancelToken 实例并将其传递给请求的 config 对象中来实现取消请求。然后,在需要取消请求的地方,您可以调用 cancel 方法以发送取消请求信号。

以下是一个例子:

import axios from 'axios';

const source = axios.CancelToken.source();

const fetchData = async () => {
  try {
    const res = await axios.get('/some/url', { cancelToken: source.token });
    console.log(res.data);
  } catch (error) {
    if (axios.isCancel(error)) {
      console.log('Request canceled:', error.message);
    } else {
      console.log(error);
    }
  }
};


// 在某个时刻取消请求
source.cancel('Operation canceled by the user.');

在上面的代码中,我们首先创建了一个名为 source 的 CancelToken 实例,并将其传递给请求的 config 对象中。然后,在需要取消请求的位置,我们通过调用 source.cancel() 方法来发送取消请求信号。如果请求已经被取消,则会抛出一个包含取消原因的错误,并且您可以在 catch 块中检查这个错误并处理它。

  • 通过 cancel 属性来取消请求
    另一种方法是直接在请求对象上设置 cancel 属性,该属性是一个函数。当您需要取消请求时,只需调用此函数即可。

以下是一个例子:

import axios from 'axios';

const fetchData = async () => {
  const request = axios.get('/some/url');

  // 在某个时刻取消请求
  request.cancel('Operation canceled by the user.');

  try {
    const res = await request;
    console.log(res.data);
  } catch (error) {
    if (axios.isCancel(error)) {
      console.log('Request canceled:', error.message);
    } else {
      console.log(error);
    }
  }
};

在上面的代码中,我们首先发起一个请求,并将其分配给一个变量 request。然后,在需要取消请求的位置,我们通过调用 request.cancel() 方法来发送取消请求信号。如果请求已经被取消,则会抛出一个包含取消原因的错误,并且您可以在 catch 块中检查这个错误并处理它。

到此这篇关于JavaScript两种axios取消请求方式小结的文章就介绍到这了,更多相关JavaScript axios取消请求内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • javascript break指定标签打破多层循环示例

    javascript break指定标签打破多层循环示例

    break的语法有两种break; 和 break label;下面为大家介绍下直接break掉整个循环嵌套示例
    2014-01-01
  • uniapp自定义应用退出执行内容实例代码

    uniapp自定义应用退出执行内容实例代码

    近几日使用uni-app开发移动应用APP遇到了个不常见的需求,下面这篇文章主要给大家介绍了关于uniapp自定义应用退出执行内容的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-12-12
  • Javascript 浅拷贝、深拷贝的实现代码

    Javascript 浅拷贝、深拷贝的实现代码

    Javascript中的对像赋值与Java中是一样的,都为引用传递.就是说,在把一个对像赋值给一个变量时,那么这个变量所指向的仍就是原来对像的地址.那怎么来做呢 答案是克隆.
    2008-12-12
  • Bootstrap基本组件学习笔记之导航(10)

    Bootstrap基本组件学习笔记之导航(10)

    这篇文章主要为大家详细介绍了Bootstrap基本组件学习笔记之导航,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12
  • js 提取某()特殊字符串长度的实例

    js 提取某()特殊字符串长度的实例

    下面小编就为大家分享一篇js 提取某()特殊字符串长度的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-12-12
  • 小程序如何实现中间带加号的tabbar

    小程序如何实现中间带加号的tabbar

    自定义tabBar可以让开发者更加灵活地设置tabBar样式,以满足更多个性化的场景,下面这篇文章主要给大家介绍了关于小程序如何实现中间带加号tabbar的相关资料,需要的朋友可以参考下
    2022-04-04
  • 详解Bootstrap插件

    详解Bootstrap插件

    这篇文章主要为大家针对Bootstrap插件的相关资料进行了详细介绍,Bootstrap 自带 12 种 jQuery 插件,扩展了功能,可以给站点添加更多的互动,感兴趣的小伙伴们可以参考一下
    2016-04-04
  • 通过高德地图API获得某条道路上的所有坐标用于描绘道路的方法

    通过高德地图API获得某条道路上的所有坐标用于描绘道路的方法

    这篇文章主要介绍了通过高德地图API获得某条道路上的所有坐标用于描绘道路的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • JavaScript中关于字符串替换与截取的知识点汇总

    JavaScript中关于字符串替换与截取的知识点汇总

    在日常开发中,经常遇到针对字符串的替换、截取,知识点比较碎容易混淆,所以本文为大家整理了一下相关的知识点,希望对大家有所帮助
    2023-05-05
  • 详解Javascript模板引擎mustache.js

    详解Javascript模板引擎mustache.js

    这篇文章主要为大家介绍了Javascript模板引擎mustache.js,mustache.js是一个简单强大的Javascript模板引擎,使用它可以简化在js代码中的html编写,压缩后只有9KB,非常值得在项目中使用,需要的朋友可以参考下
    2016-01-01

最新评论