【发布时间】:2021-11-12 07:25:06
【问题描述】:
在 Angular 文档中,声明将针对“不成功的 HTTP 状态”抛出 HttpErrorResponse。 (See here)
会抛出错误的不成功状态/不成功状态范围是什么? 是否存在即使 HTTP 状态为“不成功”,响应仍然有效的情况?
上下文:
在我的特殊情况下,我有一个身份验证服务。 RxJs 管道 switchMap 中有一个条件检查状态码是否在 200-399 范围内。这似乎是一个多余的检查。我想知道它是否可以删除。
this.http.get<UserDto>(ConstantUrlName.AUTHENTICATION_URL, {observe: 'response'}).pipe(switchMap((resp: HttpResponse<UserDto>) => {
const user = resp &&
resp.status >= 200 && resp.status < 400 &&
resp.body;
....
}))
【问题讨论】:
-
来自@jonrsharpe 的好链接,这也是我想说的。此检查是多余的,因为如果响应状态为
>= 400,它将在错误通道而不是事件通道上发出。
标签: angular rxjs angular-httpclient