如何防止浏览器控制台中出现401未经授权的错误消息

时间:2018-06-21 14:55:50

标签: angular angular5

我是angular 5的新手,现在我已经在angular的页面加载中调用了一个api。现在如果出现401错误,它将在浏览器控制台中显示消息。现在我不想显示该错误,那么我该怎么做。因为我已经尝试在服务呼叫中捕获该错误,但仍然出现问题。 我的服务代码:-

getToken(): Observable<ApiResponse> {
    return this._http.get(this.hostUrl + '/token').pipe(
      map((response: Response) => <ApiResponse>response.json())).catch((e: any) => {
        if (e.status === 401) {
            return Observable.empty();
        }
    });
  }

如您所见,我抛出了Observable.empty(),但是在浏览器控制台中我仍然出现红色标记错误。请帮助我防止这种情况。

谢谢

2 个答案:

答案 0 :(得分:0)

您可以使用Angular HttpClient拦截器来做到这一点。请参阅以下链接

答案 1 :(得分:0)

不可能!

http错误是特定于浏览器的,很难将其从浏览器控制台中删除。但是,您可以在订阅代码中处理代码中的错误,

.subscribe需要3个函数调用

  • suceess
  • 错误
  • 完全

您可以在错误块中定义错误处理来处理该错误,但是仍然会在控制台中控制台记录401错误。

this.xxxService.ttt(someProps).subscribe(
  (response) => {  // this is the response success

    // do something in success
  }, (error) => {
    // do something on error
    // here you can check if status code is 401 then do something.
  }, (compoele) => {
    // its like on complete of the observable

  }
);