我有一个带有 node.js 的 Angular 项目后端,当我的服务器关闭或没有响应时,如何调用并获取 httpErrorResponse 状态或 header 以显示在我的组件页面中。
这是我的组件功能代码:
UpdateData(){
this.newServices.updateNews(result, result.id).subscribe(
(res)=>{
console.log(res)
}),
(error)=>{
console.log(error)
}
}
我的service.ts函数:
updateNews(data, id) {
try {
return this.http.post(this.baseurl + "/news/update/" + id, data)
} catch (err) {
this.handleError(err);
}
}
如何检查我的组件的 http 响应,以便我可以在浏览器上显示消息
最佳答案
一般不建议向用户显示从服务器返回的错误消息。例如,错误可能是:由于 CORS 策略,无法到达 xx.xx.xx。因此,如果您显示此内容,用户将无法理解发生了什么。因此建议使用 toastr 服务向用户显示错误。
https://www.npmjs.com/package/ngx-toastr
getPlayersList() {
this.playerService.getPlayersList().subscribe((res: any) => {
this.playersData = res.data;
}, err => {
this.toasterService.showFailure('Sorry something went wrong');
})
}
在某些情况下,如果你想显示来自 api 的错误,例如 500 响应,你可以这样做
getPlayersList() {
this.playerService.getPlayersList().subscribe((res: any) => {
this.playersData = res.data;
}, err => {
this.toasterService.showFailure(err.err.message);
})
}
关于node.js - 如何捕获 HttpErrorResponse 状态并将其显示在 Angular 组件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59975008/