首页 > 其他分享 >axios怎么取消请求

axios怎么取消请求

时间:2022-10-13 21:25:35浏览次数:36  
标签:axios 请求 取消 source cancel CancelToken

我们都清楚在XMLHttpRequest对象中可以通过

let xhr = new XMLHttpRequest();
xhr.open('GET or POST', url);
xhr.send();
 
// 取消请求使用 xhr.abort()

在axios客户端中有两种取消当前请求的方式:

第一种通过其内部提供的CancelToken来取消

const CancelToken = axios.CancelToken;
const source = CancelToken.source();
 
axios.post(url, {
    data
}, {
    cancelToken: source.token
}
)
 
// 调用source.cancel()取消请求(可以传参数)

当然,我们也可以通过CancelToken的构造函数方式取消请求

let CancelToken = axios.CancelToken;
 
let cancel = null;
 
axios.get(url, {
    cancelToken: new CancelToken(function executor(c) {
        cancel = c;
    })
})
 
// 取消请求cancel()
当然我们可以把cancel函数挂载到window对象上,在需要取消请求的组建或页面中调用window.acncel()

 

标签:axios,请求,取消,source,cancel,CancelToken
From: https://www.cnblogs.com/qianduan-Wu/p/16789723.html

相关文章

  • RestTempalte用法:使用restTemlplate实现发送http请求
    前言最近在项目中遇到了需要发请求给指定接口获取数据的需求,翻了下项目中的代码,发现这类功能都是基于RestTemplate实现的,也有对RestTemplate进行进一步的封装,简化使用的,五......
  • http请求方式-OkHttpClient
    http请求方式-OkHttpClientimportcom.example.core.mydemo.http.OrderReqVO;importokhttp3.*;importorg.slf4j.Logger;importorg.slf4j.LoggerFactory;importor......
  • http请求方式-RestTemplate
    http请求方式-RestTemplateimportcom.alibaba.fastjson.JSON;importcom.example.core.mydemo.http.OrderReqVO;importorg.springframework.http.HttpEntity;import......
  • http请求方式-CloseableHttpClient
    http请求方式-CloseableHttpClientimportcom.alibaba.fastjson.JSON;importcom.alibaba.fastjson.JSONObject;importcom.example.core.mydemo.http.OrderReqVO;imp......
  • http请求方式-HttpClient
    http请求方式-HttpClientimportcom.alibaba.fastjson.JSON;importcom.alibaba.fastjson.JSONObject;importcom.example.core.mydemo.http.OrderReqVO;importorg.a......
  • http请求方式-HttpURLConnection
    http请求方式-HttpURLConnectionimportcom.alibaba.fastjson.JSON;importcom.example.core.mydemo.http.OrderReqVO;importorg.springframework.lang.Nullable;im......
  • scrapy 给单个请求设置超时时间
       meta={'download_timeout':30}     ......
  • uni-app发送GET和POST请求方式
    基于上一篇文章对AJAX概念的描述,那么目前流行的uni-app到底是怎么发请求的呢,我会把格式写在下面使用uni.request()发起GET请求:使用uni.request()发起POST请求let......
  • watch 监视搜索关键词的变化不断发送请求返回建议
    watch:{keywords:{//yarnaddlodash下载lodash包//import{debounce}from"lodash";引入防抖的函数//每隔700ms执行一次handler......
  • 45. JS Ajax请求(简明教程)
    1.前言Ajax全称“AsynchronousJavaScriptandXML”,译为“异步JavaScript和XML”,程序员们习惯称之为“阿贾克斯”,它并不是一种技术,而是多种技术的综合体,其中包括Ja......