axios 取消请求后是不是还是会走response??
如题,场景是短时间内只能有一个请求。
但是现在发现在短时间内发起请求的被取消后还是会走response,且为undefined
http
.post(
api.check.url,
utils.header, utils.JSONFormData({
data: data
}),
) .then((response) => {
//取消后这里还是会执行,response为undefined。
})
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
先说解决方案:你可以使用
catch
来处理,具体看下方文档。再说原因,请求被取消后,实际上是被
抛出异常
了,源码:摘抄自文档:
Axios 的 cancel token API 基于cancelable promises proposal,它还处于第一阶段。
axios内部是通过promise实现的,你说的取消是怎么个取消法,只有在state值为rejected才会走catch,否则就视为fulfilled状态,仍然也会走then方法。如果你想不走then,那么有两种方式。
1.中断ajax。
2.在添加response拦截器,在拦截器中判断如果调用了一次请求之后,就直接更改状态为rejected。