防抖思想 解决axios响应拦截器message弹窗多个的优化

// 做个标识  防止出现多个message的error弹窗
let flag = true
instance.interceptors.response.use(
  (response) => {
    const res = response.data
    if (response.status === 200) {
      if (res.code !== '1') {
        if (!flag) return
        setTimeout(() => {
          Message.error(res.msg)
          flag = true
        }, 300)
        flag = false
        if (res.code === '040000') {
          localStorage.clear()
          router.push({ path: '/login' })
        }
        return Promise.reject(res)
      }
      return res
    }
  },
  (error) => {
    return Promise.reject(error.response)
  }
)
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐