我试图实现使用新的HttpClient在角4.3的HTTP拦截,但我不断收到错误:错误:没有提供程序AuthInterceptor
ERROR Error: Uncaught (in promise): Error: No provider for AuthInterceptor!
这是我在我的app.module .TS:
@NgModule({
bootstrap: [AppComponent],
declarations: [
AppComponent,
LoginComponent,
NotFoundComponent
],
imports: [
RouterModule.forRoot([
{ path: "", redirectTo: "login", pathMatch: "full" },
{ path: "login", component: LoginComponent },
{ path: "**", component: NotFoundComponent }
]),
NgbModule.forRoot(),
BrowserAnimationsModule,
HttpClientModule,
],
providers: [
AuthenticationService,
{ provide: HTTP_INTERCEPTORS, useExisting: AuthInterceptor, multi: true },
]
};
我看着所有错误“无提供CustomService”的文章,他们都指确保该服务被添加到供应商名单中app.module我认为我已经完成了。
有没有人有任何其他想法?
谢谢。
你为什么使用'useExisting'?这是为了混叠现有的依赖性令牌。除非在AuthInterceptor标记下已经提供了某些东西,否则它会失败。尝试添加'AuthInterceptor'到你的'providers'属性。 –
啊,你说得对。我遵循一个关于实现拦截器的教程,但没有意识到useExisting意味着它必须已经存在。如果您提交您的评论作为问题的答案,我很乐意将其标记为正确的答案。 –