我是 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/