如何处理来自HTTP observable的错误

时间:2017-04-14 21:27:15

标签: javascript angular

我不确定如何处理angular2 observable中的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的响应,一切都很好。 我不确定为什么当我使用错误的网址时,响应代码为400,没有错误生成。

我该如何处理这个案子?

2 个答案:

答案 0 :(得分:1)

这段代码只是重新抛出错误。你在某个地方捕捉它吗?

例如,我有这样的代码:

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

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

答案 1 :(得分:0)

我没有发现订阅发生的错误。 我的错误