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();
})
相关推荐
IT_陈寒2 小时前
Python开发者必知的5大性能陷阱:90%的人都踩过的坑!
前端·人工智能·后端
codingWhat3 小时前
介绍一个手势识别库——AlloyFinger
前端·javascript·vue.js
Lee川3 小时前
深度拆解:基于面向对象思维的“就地编辑”组件全模块解析
javascript·架构
代码老中医3 小时前
2026年CSS彻底疯了:这6个新特性让我删掉了三分之一JS代码
前端
进击的尘埃3 小时前
Web Worker 与 OffscreenCanvas:把主线程从重活里解放出来
javascript
不会敲代码13 小时前
Zustand:轻量级状态管理,从入门到实践
前端·typescript
踩着两条虫3 小时前
VTJ.PRO 双向代码转换原理揭秘
前端·vue.js·人工智能
扉川川3 小时前
OpenClaw 架构解析:一个生产级 AI Agent 是如何设计的
前端·人工智能
远山枫谷3 小时前
一文理清页面/组件通信与 Store 全局状态管理
前端·微信小程序
codingWhat3 小时前
手撸一个「能打」的 React Table 组件
前端·javascript·react.js