I have api which returns 400 or 404 errors if failed.
When I run the http.get method, it does not catch the error on subscribe and throws error.
Http.get(`api/path/here`).map(res => res.json()).subscribe(
data => console.log(data),
error => console.log(error)
);
Following is the error I get
.subscribe(res=>{
this.data=res;
console.log('bye');
},
(err)=>console.log(err),
()=>console.log("Done")
);
Try out this way.
You could also use the catch operator
http.get(`api/path/here`)
.map(res => res.json())
.catch(
err => {
// handle errors
})
.subscribe(
data => console.log(data)
);
来源:https://stackoverflow.com/questions/35519483/catch-api-404-response-with-angular2-http
