Angular 6-429响应处理

时间:2018-09-04 12:50:38

标签: angular angular-httpclient http-status-code-429

如何在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, …}

1 个答案:

答案 0 :(得分:1)

由于失败是在预检OPTIONS请求上发生的,因此很可能意味着响应缺少CORS标头(这就是为什么状态为0而不是429的原因。