Angular 基本HttpInterceptor从未到达
我想实现一个HttpInterceptor来处理404错误。现在我只想在到达HttpInterceptor时在控制台中记录一些东西 我实现了一个基本的DonothingHttpInterceptor,但没有任何功能 应用程序模块.ts errorhandler.interceptor.tsAngular 基本HttpInterceptor从未到达,angular,angular-http-interceptors,Angular,Angular Http Interceptors,我想实现一个HttpInterceptor来处理404错误。现在我只想在到达HttpInterceptor时在控制台中记录一些东西 我实现了一个基本的DonothingHttpInterceptor,但没有任何功能 应用程序模块.ts errorhandler.interceptor.ts 从'@angular/core'导入{Injectable}; 从'@angular/common/http'导入{HttpInterceptor,HttpRequest,HttpHandler,HttpEv
从'@angular/core'导入{Injectable};
从'@angular/common/http'导入{HttpInterceptor,HttpRequest,HttpHandler,HttpEvent,HttpResponse};
从“rxjs”导入{Observable};
@可注射()
导出类ErrorHandlerInterceptor实现HttpInterceptor{
拦截(请求:HttpRequest)
如果我理解正确,控制台应该在每次到达拦截器时显示“Hello”。但是当我试图到达一个不存在的url时,控制台不会显示“Hello”,只是我想要处理的错误
感谢您的帮助拦截器用于处理传出请求。假设您使用HttpClient
发出get
请求。然后它将通过拦截器。试图导航到不存在的路由不会被拦截器捕获。我认为您的代码没有问题,可能是有其他问题ng.当我发送get请求时,拦截器工作得很好。我误解了它的工作原理。非常感谢!感谢用于传出请求的通知。一切正常!
import { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';
import { ErrorHandlerInterceptor } from './blocks/interceptor/errorhandler.interceptor';
@NgModule({
imports: [
...
HttpClientModule
declarations: [...],
providers: [
{
provide: HTTP_INTERCEPTORS,
useClass: ErrorHandlerInterceptor,
multi: true
}
],
bootstrap: [MainComponent]
})
import { Injectable } from '@angular/core';
import { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent, HttpResponse } from '@angular/common/http';
import { Observable } from 'rxjs';
@Injectable()
export class ErrorHandlerInterceptor implements HttpInterceptor {
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
console.log('Hello');
return next.handle(request);
}
}