如何通过observable捕获API响应错误?

时间:2017-07-27 02:00:50

标签: angular try-catch jsonp observable

我使用Angular 4进行API调用,成功的响应返回正确的json,但是带有错误的响应返回404 HTML页面而不是json响应(这是错误的我知道,但我没有控制权超过它)。

如何捕获错误,以防止进一步运行脚本,并且不会显示在控制台中?

我的API调用是:

this.jsonp.get(url, options)
            .map((response) => response.json())
            .map((results) => results.map((result: string) => result))

2 个答案:

答案 0 :(得分:1)

.catch((err:any) =>{ 
    console.log("error");
    return Observable.of(undefined);
 });

答案 1 :(得分:1)

您可以创建一个函数并在catch()

中使用它
errorHandler(error: Response){
        console.error(error);
        return Observable.throw(error || "Server error");
}

.catch(this.errorHandler);