2017-04-14 65 views
0

我不知道如何处理angular2可观察对象中的http错误。 我有什么是如何处理来自HTTP观察对象的错误

getContextAddress() : Observable<string[]> { 
     return this.http.get(this.patientContextProviderURL) 
     .map((res:Response) => { 
      return res.json() 
     }) 
     .catch((error:any) => Observable.throw(error.json().error || 'Server error')); 
} 

在有效的URL的情况下,即200个回应,一切都很好。 我不知道为什么当我使用一个不好的url时,响应代码为400,没有错误产生。

我该如何处理这种情况?

+0

你是什么意思*“没有错误生成”*?你在哪里订阅这个?你是否向订阅提供了第二个错误处理回调?有任何日志记录以查看发生了什么?请给[mcve]。 – jonrsharpe

回答

1

此代码只是重新抛出错误。你在哪里捕捉它?

例如,我有这样的代码:

this.productService.getProducts() 
    .subscribe(products => this.products = products, 
       error => this.errorMessage = <any>error); 
} 

这捕获抛出的错误并设置ErrorMessage属性我然后在UI显示。

0

我没有捕捉订阅发生的错误。 我的错误