Vyhledávání na webu

typescript - Zpracování chyb HTTP odpovědí v aplikaci Angular


Mám soubor data.json následujícím způsobem.

[
    {"value":1},
    {"value":2},
    {"value":3},
    {"value":3}
]

& Používám Http k získávání dat. Data přicházejí správně, ale co když je můj server vypnutý, pak se zobrazí chyba, chci místo té chyby ukázat uživateli nějakou vlastní zprávu. Níže je moje funkce, která data získává.

 data: any;

  getData() {
    this.http.get('http://localhost/php/data.json').subscribe((res) => {
      this.data = res;
      console.log(this.data);
    })
  }

  ngOnInit() {
    this.getData();
  }

Odpověď č. 1

  getData() {
    this.http.get('http://localhost/php/data.json').subscribe((res) => {
      this.data = res;
      console.log(this.data);
    },(err:HttpErrorResponse)=>{handle your error here});

subscribe přijímá zpětné volání pro zpracování chyb jako druhý argument. Podrobnosti k API můžete zkontrolovat zde

https://angular.io/api/common/http/HttpErrorResponse

Odpověď č. 2

Můžete také použít operátor catchError poskytovaný knihovnou rxjs

import {catchError} from 'rxjs/operators'

this.http.get('http://localhost/php/data.json')
    .pipe ( 
       catchError((error) => // handle the error here; )
     )
    .subscribe((res) => {
      this.data = res;
      console.log(this.data);
    })