Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 基本HttpInterceptor从未到达_Angular_Angular Http Interceptors - Fatal编程技术网

Angular 基本HttpInterceptor从未到达

Angular 基本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

我想实现一个HttpInterceptor来处理404错误。现在我只想在到达HttpInterceptor时在控制台中记录一些东西

我实现了一个基本的DonothingHttpInterceptor,但没有任何功能

应用程序模块.ts

errorhandler.interceptor.ts

从'@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);
  }
}