Angular 4:在订阅中获取错误消息

前端之家收集整理的这篇文章主要介绍了Angular 4:在订阅中获取错误消息前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在服务中,有这样的代码
getUser(id){
    return this.http.get('http:..../' + id)
      .map(res => res.json());
  }

在组件中:

this.myService.getUser(this.id).subscribe((customer) => {
  console.log(customer);
  this.customer = customer,(err) => console.log(err)
});

当存在’客户’时,没问题我得到有关客户的所有信息.

当id不存在时,web api会返回带有消息的“BadRequest”.我该怎么收到这条消息?地位?

谢谢,

(错误)需要在客户胖箭之外:
this.myService.getUser(this.id).subscribe((customer) => {
  console.log(customer);
  this.customer = customer,},(err) => {console.log(err)});

获取错误消息,请添加一个将返回错误对象的catch:

getUser(id){
  return this.http.get('http:..../' + id)
    .map(res => res.json())
    .catch(this.handleError);
}

private handleError(error: any) { 
  let errMsg = (error.message) ? error.message : error.status ? `${error.status} - ${error.statusText}` : 'Server error';
  return Observable.throw(error);
}

猜你在找的Angularjs相关文章