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();
})
相关推荐
因_崔斯汀11 分钟前
Three.js 3D 热力云图效果实现
前端·three.js
爱勇宝37 分钟前
人到了一定年纪,才会看懂这些人性真相
前端·后端
梓䈑1 小时前
【用 Vibe Coding 实现的 C++17 在线判题系统】前端开发 + Web 自动化测试
前端·c++·ai编程
程序员黑豆2 小时前
鸿蒙应用开发 @BuilderParam 使用教程:实现灵活的 UI 插槽
前端·harmonyos
万少2 小时前
用 TraeWork 给小孩做一个家庭工作台
前端·人工智能·后端
孙启超2 小时前
【AI应用开发】ReAct 原理是什么?和普通直接提问 LLM 差别在哪?
前端·人工智能·llm·agent·react·rag·ai应用开发
其美杰布-富贵-李2 小时前
第 10 篇:灯光与阴影
javascript·three.js
SynthWriter2 小时前
下班前接到急活?我用 TRAE Work 20 分钟搞定了一套完整页面原型
前端
minimoon_jojo2 小时前
Antd Table虚拟滚动详解
前端
颜进强2 小时前
Calude Code - 23 用 MCP 把 Jenkins 变成 AI 队友:一次对话完成自动化发布
前端·后端