vue路由跳转后,终止上一个页面正在请求的资源

实现在路由跳转后,把上一个页面正在请求的资源关闭。

  1. 在发起请求时拦截请求加入代码
javascript 复制代码
// 拦截请求
instance.interceptors.request.use((req) => {
        req.cancelToken = new axios.CancelToken(cancel => {
            if (!window._axiosPromiseArr){
                window._axiosPromiseArr = [];
            }
            window._axiosPromiseArr.push({cancel});
        });
});
  1. 在全局路由跳转前写入代码
javascript 复制代码
router.beforeEach((to, from, next) => {
    console.log('[访问路由]' + (to.name || to.path))
    if (window._axiosPromiseArr) {
        window._axiosPromiseArr.forEach((ele, index) => {
            // 路由跳转前,终止上一个页面正在请求的内容
            ele.cancel();
            delete window._axiosPromiseArr[index];
        })
    }
 return next();
})
相关推荐
yvvvy几秒前
一文搞懂 position:从小红点到粘性导航,再到浏览器底层原理
前端·javascript
Pedantic7 分钟前
swiftUI视图修改器(ViewModifier)解析
前端
yukin11 分钟前
一文搞懂JS类型转换!!!
前端
数字人直播12 分钟前
干货分享:AI 数字人直播怎么做才能适配多平台规则?
前端·后端
胡gh12 分钟前
中断渲染,利用fiber解决性能问题,性能优化又有的说了
前端·javascript·面试
日月晨曦12 分钟前
JavaScript原型:对象世界的"族谱"与"共享仓库"
前端
AliciaIr13 分钟前
前端面试:红绿灯问题与异步编程的底层实践
前端·javascript
日月晨曦15 分钟前
从XMLHttpRequest到Fetch:前后端通信的"进化史"
前端
已读不回14315 分钟前
移动端视口终极解决方案:使用 Visual Viewport封装一个优雅的 React Hook
前端·javascript·react.js
PineappleCoder15 分钟前
同源策略是啥?浏览器为啥拦我的跨域请求?(二)
前端·后端·node.js