Angular 5 HTTP错误没有被捕获,显示在控制台中

时间:2017-12-16 07:30:46

标签: http error-handling angular5

我正在使用Web服务,当Web服务返回HTTP错误时,我能够检测到它,但它仍然显示在控制台日志中。我想在我的代码中处理它,而不是在控制台中显示它。

这是我的网络服务代码:

login(username: string, password: string): Observable<boolean> {
  const url = this.getUrl('/v1/users/login');
  const headers = {
    headers: new HttpHeaders({'Content-Type': 'application/json', 'transactionId': uuid.v4()})
  };
  const body = { username, password };

  return new Observable<boolean>( observer => {
    this.http.post<User>(url, body, headers).subscribe(
      (user: User) => {
        console.log('login: Success: ', user);
        observer.next(true);
      },
      (err: HttpErrorResponse) => {
        console.log('login: Error: ', err);
        observer.next(false);
      }
    );
  });
}

以下是我在控制台日志中看到的内容:

POST http://api.foo.com/card/app/api/v1/users/login 400 (Bad Request)

我虽然处理HttpErrorResponse会阻止异常冒泡。我的代码丢失了什么?

0 个答案:

没有答案