Angular:如何捕获失败的 http.get() 方法的 Http 状态代码

Angular: How to catch Http Status Code of a failed http.get() method

我有一个 http.get() 方法试图查询后端 API。在前端给定一个 Id,在数据库中启用一个 属性(这是由后端处理的) 我是这样实现http方法的:

home.ts

this.service.getZ(id).subscribe((event:any)=>console.log(event))

service.ts

 getz(id):
    return http.get('url'+id,{reportProgress: true,
   responseType: 'text'
}).

现在我需要捕获后端发送的 http 状态代码,因为我需要此状态代码(如 http 200、http 500)以在前端启用另一个按钮。 但由于某种原因,我无法在 home.ts 中的 'event' 变量中捕获 http 状态(如上所示)。 在控制台中,我收到此消息: enter image description here

但我只能将 http 状态代码提取到变量中。有什么建议吗?

因为handler只是invoke调用成功。对于错误还有一个回调。所以将您的代码更改为:-

this.service.getZ(id).subscribe(
   (event:any)=>console.log(event),
   (err) => console.log(err.statusCode)
)