Error handling 如何在角度2+;

Error handling 如何在角度2+;,error-handling,angular2-routing,Error Handling,Angular2 Routing,我试图找出网络断开的问题。我试过多种方法。但我还是没有找到解决办法。我无法使用状态代码实现 以下是我的示例代码: var headers = new Headers(); headers.append('Content-Type', 'application/json'); headers.append('Authorization', 'Bearer ' + this.token); this.http.get('http://someurl/'+userI

我试图找出网络断开的问题。我试过多种方法。但我还是没有找到解决办法。我无法使用状态代码实现

以下是我的示例代码:

    var headers = new Headers();
    headers.append('Content-Type', 'application/json');
    headers.append('Authorization', 'Bearer ' + this.token); 

    this.http.get('http://someurl/'+userId,{headers:headers})

    .map(res => res.json())

    .subscribe(
      data => {
      console.log(data);
     },

    error => {
      console.log(error);
      if(error.status == 500) {
        this.dashResponse = false;
        this.notFoundResponse = false;
        this.serverErrorResponse = true;
      }
      else if(error.status == 404)
      {
        this.dashResponse = false;
        this.notFoundResponse = true;
        this.serverErrorResponse = false;
      }
      else if(error.status == 401)
      {
        this.router.navigate(['/login']);
        alert('Un Authorized');
        this.refresh();
      }
      else
      {
        this.dashResponse = false;
        this.notFoundResponse = false;
        this.serverErrorResponse = true;
      }
    }

     );

谁能解决我的问题?。提前谢谢。

我找到了问题的答案

以下是解决方案:

  • 导入主机侦听器

     import { Component, OnInit, HostListener,OnDestroy } from '@angular/core';
    
  • 将此代码放入AppComponent

     export class AppComponent implements OnInit,OnDestroy  {
    
     //Offline Event
     @HostListener('window:offline', ['$event'])
     OfflineEvent(event: Event) { 
    
      console.log(event);
       //do something.....
     }
    
     //Online event
     @HostListener('window:online', ['$event'])
     OnlineEvent(event: Event) {
    
       console.log(event);
       //do something.....
    
       }
    
      }
    
  • 您可以使用HostListener显示任何要显示的内容