如何使用可观察对象捕获 API 响应错误?
How do I catch an API response error with observables?
我正在使用 Angular 4 进行 API 调用,成功响应 returns 正确 json,但响应错误 returns 404 HTML 页面而不是 json 响应(我知道这是错误的,但我无法控制它)。
我如何才能捕捉到错误,使其不会停止其他脚本 运行,并且不会显示在控制台中?
我的 API 电话是:
this.jsonp.get(url, options)
.map((response) => response.json())
.map((results) => results.map((result: string) => result))
.catch((err:any) =>{
console.log("error");
return Observable.of(undefined);
});
您可以创建一个函数并在 catch()
中使用它
errorHandler(error: Response){
console.error(error);
return Observable.throw(error || "Server error");
}
喜欢
.catch(this.errorHandler);
我正在使用 Angular 4 进行 API 调用,成功响应 returns 正确 json,但响应错误 returns 404 HTML 页面而不是 json 响应(我知道这是错误的,但我无法控制它)。
我如何才能捕捉到错误,使其不会停止其他脚本 运行,并且不会显示在控制台中?
我的 API 电话是:
this.jsonp.get(url, options)
.map((response) => response.json())
.map((results) => results.map((result: string) => result))
.catch((err:any) =>{
console.log("error");
return Observable.of(undefined);
});
您可以创建一个函数并在 catch()
errorHandler(error: Response){
console.error(error);
return Observable.throw(error || "Server error");
}
喜欢
.catch(this.errorHandler);