我已添加以下代码。基本上我想向不同的场景显示错误消息(返回HTTP状态代码)。我正在努力掌握关于可观察物等的所有这些概念,但到目前为止我还没有到达任何地方。希望有人可以帮助我。
bool isContainId = List<one>.Contains(two.Id);
if (isContainsId)
{
// do something
}
else
{
// do something
}
答案 0 :(得分:1)
在catch块中的错误对象中将有一个status属性,因此您可以将http错误代码作为error.status进行访问。通过使用if条件检查此error.status值,您可以处理您的方案。但是看看你的代码,似乎你正在从错误代码创建验证消息。我认为最好从服务器返回验证消息(如果你可以编辑API),而不是在代码中操作它。因此,如果您希望将来更改验证消息,则可以在不更改任何客户端代码的情况下执行此操作。
答案 1 :(得分:0)
您可以从服务中抛出错误,并获取组件
register(userData): Observable<UserModel[]>{
return this.http.post(this.config.apiUrl+this.config.user.register,
JSON.stringify(userData))
.map((res: Response) => res.json())
.catch(
(error: Response) => {
return Observable.throw(error.json() as JsonResponse)
});;
}
在Component中你可以
test(): void {
this.testService.register().subscribe(
(data: UserModel[]) => {
console.log(data);
}, (error: JsonResponse) => {
console.log(error);
}
)
}