У меня есть два модуля - основной модуль и один, который импортируется. Они оба имеют APP_INITIALIZER
. Гарантирован ли порядок вызова инициализаторов ? Я проверил несколько раз, и внутреннее всегда вызывается первым, но это просто совпадение?
// app.module.ts
@NgModule({
imports: [
EnvironmentModule,
],
providers: [
PermissionsService,
{
provide: APP_INITIALIZER,
useFactory: (permissionsService: PermissionsService) => {
return () => permissionsService.fetchUserPermissions()
},
deps: [PermissionsService],
multi: true,
},
],
bootstrap: [AppComponent],
})
export class AppModule {}
// environment.module.ts
@NgModule({
imports: [],
declarations: [],
providers: [
EnvironmentService,
{
provide: APP_INITIALIZER,
useFactory: (environmentService: EnvironmentService) => () => environmentService.getEnvConfig(),
deps: [EnvironmentService],
multi: true,
},
],
})
export class EnvironmentModule {}