解决AbortController中断请求无法再次请求

当使用AbortController在axios中中断请求后,由于其signal的aborted属性变为只读,导致无法再次发送请求。解决方法是将AbortController实例定义在外部,并在每次请求前检查是否存在上一个请求,如果存在则取消并重置,从而实现多次中断和发送请求的功能。

axios新方式中断请求

文档:GitHub - axios/axios: Promise based HTTP client for the browser and node.js

 官网的示例

const controller = new AbortController();

axios.get('/foo/bar', {
   signal: controller.signal
}).then(function(response) {
   //...
});
// cancel the request
controller.abort()

 如果按照这种方法后,再次点请求就无法发送了,因为signal里面的属性aborted是只读属性,改不了,你点击发送请求,他会读取signal的aborted值为true,就不发送了,咋办?看下去

我看了一下api,文档:AbortSignal - Web API 接口参考 | MDN,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值