Как найти ошибку отсоединения от сети в Angular 2+ - PullRequest
0 голосов
/ 03 июля 2018

Я пытаюсь найти проблему с отключенной сетью. Я пробовал несколько способов. Тем не менее я не получил решение. Я не мог достичь с кодом состояния.

Вот мой пример кода:

    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;
      }
    }

     );

Может ли кто-нибудь решить мою проблему? Заранее спасибо.

1 Ответ

0 голосов
/ 31 июля 2018

Я нашел решение для моего вопроса.

Вот решение:

  1. Импорт HostListener

     import { Component, OnInit, HostListener,OnDestroy } from '@angular/core';
    
  2. Вставьте этот код в свой 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.

...