在我們的Angular應用程序中,我們需要在初始化應用程序之前從服務器加載配置設置。Angular:具有GlobalErrorHandler的APP_INITIALIZER
使用APP_INITIALIZER
爲such的偉大工程:
export function loadConfig(config: ConfigService) =>() => config.load()
@NgModule({
declarations: [AppComponent],
imports: [BrowserModule,
routes,
FormsModule,
HttpModule],
providers: [
ConfigService,
{
provide: APP_INITIALIZER,
useFactory: loadConfig,
deps: [ConfigService],
multi: true
}
],
bootstrap: [AppComponent]
})
export class AppModule {
}
我再延伸的ErrorHandler創建GlobalErrorHandler並想告訴角度來使用我們的GlobalErrorHandler,所以我提供的ErrorHandler,並告訴角度使用類GlobalErrorHandler。
providers: [
ConfigService,
{
provide: APP_INITIALIZER,
useFactory: loadConfig,
deps: [ConfigService],
multi: true
},
{
provide: ErrorHandler,
useClass: GlobalErrorHandler
}
]
GlobalErrorHandler需要來自配置設置的信息,我需要實例化GlobalErrorHandler後,設置的承諾解決。在上面的設置中,GlobalErrorHandler是在我向服務器調用配置值之前創建的。
如何從服務器加載配置值,然後實例化GlobalErrorHandler並使用配置值?