vue.js怎么处理无网状态下,接口请求报错

发布于 2022-09-06 12:12:55 字数 937 浏览 7 评论 0

  1. vue项目中,用axios统一封装了请求接口,使用了拦截器处理响应数据
// http response 拦截器
axios.interceptors.response.use(response => {
  // 系统报错
  if (response.data && response.data.err !== 0) {
    router.push({name: 'err', query: {code: response.data.err}});
  }

  return response
}, error => {
  console.log('++++++++++++++++++++++++++', error)
  if (error.response.status === 404) {
    router.push({name: 'err', query: {code: error.response.status}})
  }

  if (error.response.status === 401) {
    router.push({name: 'err', query: {code: error.response.status}});
  }

  if (error.response.status === 500) {
    router.push({name: 'err', query: {code: error.response.status}});
  }

  return Promise.resolve(error.response)
})

打包后,部署在测试环境中,断开网络后报错
图片描述

请问,怎么获取断网下状态,给出提示信息

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

忆梦 2022-09-13 12:12:55
axios.interceptors.response.use(response => {
  // 系统报错
  if (response.data && response.data.err !== 0) {
    router.push({name: 'err', query: {code: response.data.err}});
  }

  return response
}, error => {
  if (!error.response) {
    // 断网了  
  }
  console.log('++++++++++++++++++++++++++', error)
  if (error.response.status === 404) {
    router.push({name: 'err', query: {code: error.response.status}})
  }

  if (error.response.status === 401) {
    router.push({name: 'err', query: {code: error.response.status}});
  }

  if (error.response.status === 500) {
    router.push({name: 'err', query: {code: error.response.status}});
  }

  return Promise.resolve(error.response)
})

每个if下面建议加return

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文