我有一个服务执行get请求并抛出错误。
service.ts
return this.http.get(/apiUrl)
.map(
(response: Response) => {
const items = response.json();
return items;
})
.catch(
(error: Response) => {
return Observable.throw(error);
});
}
我将它订阅到组件,我想在视图中显示错误。我搜索了这个异常处理,但我无法得到相关的答案我该怎么办?
component.ts
this.faqService.getServers()
.subscribe(
(data) => {
this.item = data.items;
console.log(this.item);
},
(error) => console.log(error)
);
});
我可以在控制台中看到错误如何在视图中显示它。
错误
答案 0 :(得分:3)
分配给变量,然后显示
在你的ts
中声明一个变量errorMessage : string;
然后,
this.faqService.getServers()
.subscribe(
(data) => {
this.item = data.items;
console.log(this.item);
},
(error) => {
this.errorMessage= error.error_message;
}
);
});
然后在HTML中
<h1>{{errorMessage}}</h1>
您需要从服务中返回错误
return this.http.get(/url)
.map(
(response: Response) => {
return response.json();
})
.catch(
(error: Response) => {
return Observable.throw(error.json());
});
}
答案 1 :(得分:3)
<强> Service.ts 强> 你的服务应该是
return this.http.get(/apiUrl)
.map(
(response: Response) => {
const items = response.json();
return items;
})
.catch(
(error: Response) => {
return Observable.throw(error.json());
});
}
你的组件应该是这样的。 的元器件强>
errorMessage : string;
this.faqService.getServers()
.subscribe(
(data) => {
this.item = data.items;
},
(error) => {
this.errorMessage = error.error_message;
}
);
});
<强> HTML 强>
<span class="alert">{{errorMessage}}</span>