如何在Angular 6的HttpClient上捕获429错误响应?
下面的示例将正确捕获401错误,但对于429错误,它将反馈未知错误。
错误/编辑:预检OPTIONS检查失败。
登录代码:
this.http.post<any>(this._loginUrl, this.loginUserData)
.subscribe(
res => {
console.log(res)
},
err => {
console.log(err);
if (err.status == 401) {
// unauthorized
} else if (err.status == 429) {
// limit reached
} else {
// unknown
}
}
)
401回复
HttpErrorResponse {headers: HttpHeaders, status: 401, statusText: "Unauthorized", url: "http://localhost:82/api/login", ok: false, …}
429响应
HttpErrorResponse {headers: HttpHeaders, status: 0, statusText: "Unknown Error", url: null, ok: false, …}
答案 0 :(得分:1)
由于失败是在预检OPTIONS请求上发生的,因此很可能意味着响应缺少CORS标头(这就是为什么状态为0而不是429的原因。