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

标签 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() 但仍然在浏览器控制台中以红色标记显示错误。请帮助我防止这种情况发生。

谢谢,

最佳答案

这不可能!

http 错误是特定于浏览器的,并且不可能从浏览器控制台中删除它们。但是您可以在订阅 block 中处理代码中的错误,

.subscribe 需要 3 个函数回调

  • 成功
  • 错误
  • 完成

您可以在错误 block 中定义错误处理来处理该问题,但它仍然会在控制台中记录 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

  }
);

关于angular - 如何防止浏览器控制台中出现 401 未经授权的错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50971636/

相关文章:

javascript - 从控制台 Angular 5中的json获取未定义的值

angular - ngx-perfect-scrollbar 中的水平滚动

javascript - 在 Angular 中使用 Javascript 库

Angular @ViewChild 错误 'Cannot read property nativeElement of undefined"

angular - 无法调试模块 myapp/public/app/app.module.ts 的元数据版本不匹配,发现版本 3,预期版本 4

angular - 错误 : Uncaught (in promise): PushNotifications does not have web implementation

angular - 在 Angular 5 中通过 blob 下载时设置文件名

angular - 属性 'addToast' 不存在于类型 'GlobalEventHandlers' Angular 5

angular - 如何按选定的值过滤数据?

angular - ngx-bootstrap 模态 : How to get a return value from a modal?