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();
})
相关推荐
swipe7 分钟前
AI 应用里的 Memory,不是“保存聊天记录”,而是管理上下文预算
前端·llm·agent
慧一居士22 分钟前
nuxt3 项目和nuxt4 项目区别和对比
前端·vue.js
威联通安全存储1 小时前
破除“重前端、轻底层”的数字幻象:如何夯实工业数据的物理底座
前端·python
inksci1 小时前
Js生成安全随机数
前端·微信小程序
吴声子夜歌2 小时前
TypeScript——泛型
前端·git·typescript
kgduu2 小时前
js之客户端存储
javascript·数据库·oracle
四千岁2 小时前
2026 最新版:WSL + Ubuntu 全栈开发环境,一篇搞定!
javascript·node.js
猩猩程序员2 小时前
Pretext:一个绕过 DOM 的纯 JavaScript 排版引擎
前端
竹林8182 小时前
从“连接失败”到丝滑登录:我用 ethers.js 连接 MetaMask 的完整踩坑实录
前端·javascript
神舟之光2 小时前
jwt权限控制简单总结(乡村意见簿-vue-express-mongdb)
前端·vue.js·express