项目中怎么封装一个可取消的请求?

用户点击某按钮进行请求后,此时如果又点取消按钮怎么实现把上一次的请求作废,即不让服务端处理该请求?

本文参与了SegmentFault 思否面试闯关挑战赛,欢迎正在阅读的你也加入。


回答:

前端的请求取消只是对取消的请求后续返回的结果不做处理。并不是通知服务端去终止这个请求。

前端部分的请求取消,可以借助 AbortController 中止控制器 来实现。

当然如果你使用的是 axios 可以直接用 axios 提供的 signal 属性来取消。Cancellation | Axios Docs

具体实现可以借鉴社区已经发布的一些文章:
axios如何取消重复请求
在vue项目中取消axios请求(单个和全局)


本文参与了SegmentFault 思否面试闯关挑战赛,欢迎正在阅读的你也加入。

以上是 项目中怎么封装一个可取消的请求? 的全部内容, 来源链接: utcz.com/p/933806.html

回到顶部