在项目中做异常处理时经常会遇到对网络错误的处理;处理的方案有很多,我只记录我在项目中使用的一种

首先添加网络错误页面(根据各自需求):

2.在router中添加错误页面的路由

{

      path: '/networkError',

      component: require('@/public-component/no-network.vue').default, 

      name: 'networkError',

      meta: { title: '网络异常' } 
}

这里面需要注意,不能使用路由懒加载

3.在APP.vue中添加监听网络

mounted() {
    window.addEventListener('offline', ()=>{
     // 网络由正常常到异常时触发
     sessionStorage.locationUrl=window.location.href;
     this.$router.replace('/networkError')
    });
    window.addEventListener('online',()=>{
      window.location.href=sessionStorage.locationUrl
    });
  },

 在断网时会记录下当前页面的地址,开网络时会重新跳转到当前页面;

但是这种情况针对连接到WiFi,但是WiFi无网络时,这种情况不适用,测试时我发现,WiFi无网络时,接口会请求超时,可以在接口请求超时时做处理,可以参见我的博客Vue项目请求超时处理

Logo

前往低代码交流专区

更多推荐