vue axios请求 取消上一个页面所有请求 批量取消请求

SPA时代经常会遇到当前页面未加载完毕时跳转路由或者返回操作, 但是通过network会发现, 若网络环境较差的情况下, 会一直pending, 切换路由后在network中添加新的请求但是正在pending的请求依然存在. 当我们在项目中做了一个上拉加载分页的时候会一直加载中, 用户等待不耐烦后可能会主动触发返回操作, 但是此刻即使用户触发返回操作, 加载分页的请求还是存在, 页面还是会一直提示加载中, 直到该请求加载成功或超时才肯罢休

若想测试该效果的话, 大家可以通过chrome移动端模拟器进行模拟, 设置网络环境为Low-end mobile
低网速模拟

这时刷新, 将会看到已发出的请求会得到很漫长的响应, 这时我们进行路由更改操作, 会看到如下图
pending

这时我们想要达到的效果是这样的
取消请求

实现的思路是将cancel放置于全局变量的数组中, 可以挂在至window对象上或Vue示例上, 根据自己的情况去设计
关键代码

接着在路由切换时进行操作
取消请求以及删除

如有更完美的想法欢迎指教, 如有不正确之处请指出, 多谢

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值