我是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(),但是在浏览器控制台中我仍然出现红色标记错误。请帮助我防止这种情况。
谢谢
答案 0 :(得分:0)
您可以使用Angular HttpClient拦截器来做到这一点。请参阅以下链接
答案 1 :(得分:0)
不可能!
http
错误是特定于浏览器的,很难将其从浏览器控制台中删除。但是,您可以在订阅代码中处理代码中的错误,
.subscribe需要3个函数调用
您可以在错误块中定义错误处理来处理该错误,但是仍然会在控制台中控制台记录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
}
);