Порядок выполнения функции в угловом приложении при инициализации - PullRequest
0 голосов
/ 16 января 2019

У меня угловое приложение.И я использую lib angular-auth-oidc-client в одной из моих собственных библиотек, а затем внедряю в свое приложение, используя .forRoot ().Проблема заключается в том, что когда я пытаюсь перезагрузить часть своего состояния, AuthGuard пытается вызвать oidcSecurityService.isAuthorized, но кажется, что oidcSecurityService.isAuthorized еще не доступен, а состояние не загружается.Каков наилучший способ обеспечить запуск oidcSecurityService.setupModule до того, как код достигнет моего AuthGuard, и обеспечить постоянную доступность OidcSecurityService.isAuthorizd.

Lib Code @NgModule ({

 imports: [
   HttpClientModule,
   AuthModule.forRoot(),

  ],
 providers: [
   HttpClient,
   OidcSecurityService,
  {
    provide: HTTP_INTERCEPTORS,
    useClass: RequestInterceptor,
    multi: true,
  },
 ]
 })
export class LibModule {
static forRoot(): ModuleWithProviders {
   return {
      ngModule: AuthInfrastructureModule,
      providers: [
          AuthService,
          AuthGuard,

      ],
  };
}
}

Код приложения

@NgModule({
  imports: [

    BrowserAnimationsModule,
    BrowserModule,
    CommonModule,
    LibModule.forRoot(),

  ],
  providers: [

  ],
   bootstrap: [AppComponent]
 })
 export class AppModule {
 constructor() {
   }
 }
...