Заказ APP_INITIALIZER во вложенных модулях - PullRequest
1 голос
/ 23 февраля 2020

У меня есть два модуля - основной модуль и один, который импортируется. Они оба имеют 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 {}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...