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