防抖函数--应用场景及示例

防抖函数--应用场景及示例

1.当短时间内出现多次调用同一个东西的时候-可以使用

场景1

接口多次相应401--但是只需要提醒一次

javascript 复制代码
//time 为全局变量
let time;


axios.interceptors.response.use(
  function (response) {
    if (response.data.code === 401) {
      //当401时清除缓存信息
     
        // Message.error(response.data.msg);
      
        //搞个节流函数--------------此处为防抖函数
        let flagT = false;
        clearTimeout(time);
        time = setTimeout(() => {
          flagT = true;
          if (flagT) {
            Message.error(response.data.msg);
          }
        }, 500);
      // 重定向到登录页
      router.replace({
        path: "/",
      
      });
      return;
    }

    return response;
  },
  function (error) {
    // 对响应错误做点什么
    // loadingInstance.close();
    return Promise.reject(error);
  }
);

场景2

还有一个场景用的比较多 --随窗口大小变化--更改echrts的大小这个经常会用到--与上边代码同理

诸君有用且点赞

相关推荐
PedroQue99几秒前
uni-router v1.8.0新增冷启动守卫补执行
前端·uni-app
xiaok2 分钟前
部署之后,本地浏览器还在读取旧缓存导致页面一直显示loading中
前端
用户059540174462 分钟前
Redis缓存一致性踩坑实录:线上故障排查6小时,我用pytest+内存快照把它永久关进了笼子
前端·css
星栈7 分钟前
我用 Rust + Dioxus 做了个全栈跨平台笔记应用:第一版先把列表和详情跑通
前端·rust·前端框架
用户17335980753721 分钟前
Vue 3 SPA 首屏优化:从 3s 到 1.2s 的 5 个实践
前端·vue.js
咖啡无伴侣21 分钟前
基础骨架:30 分钟搭好 pnpm workspace,完成双项目 Monorepo 迁入
前端
谷无姜25 分钟前
Webpack5 进阶思考:那些官方文档没讲清楚的事
前端·webpack
weedsfly25 分钟前
还在用 Axios?你可能需要重新理解 XHR 与 Fetch
前端·javascript·面试
CoderWeen27 分钟前
从零实现一个 Vue3 流程图编辑器:节点拖拽、贝塞尔连线与框选
前端·javascript
森鹿27 分钟前
express中间件原理以及大致实现
前端·express