Angular 6: поставщик, deps не инициализирован - PullRequest
0 голосов
/ 28 сентября 2018

У меня проблема при использовании пользовательского провайдера в angular 6 в сочетании с ngx-envconfig .

Мой пользовательский провайдер выглядит так:

  providers: [
    { provide: LoggerConfig, useFactory: LoggerConfigFactory, deps: [ConfigService] },
  ],

с этой реализацией:

export const LoggerConfigFactory = (configService: ConfigService) => {
  const logUrl = configService.getApi('Log');   
  const loggerConfig = new LoggerConfig();
  return loggerConfig;
};

ошибка возникает в первой строке:

      const logUrl = configService.getApi('Log');   

, поскольку служба конфигурации 1 еще не инициализирована (внедрениесделано, но я не могу вызывать какие-либо методы, потому что данные не загружаются в данный момент).

Как я могу гарантировать, что введенная зависимость инициализируется при внедрении в мой пользовательский поставщик?

заранее спасибо,

1 Ответ

0 голосов
/ 28 сентября 2018

Вам нужно будет добавить ConfigService в список провайдеров .

  providers: [
    ConfigService,
    { provide: LoggerConfig, useFactory: LoggerConfigFactory, deps: [ConfigService] },
  ],

Попробуйте добавить ConfigService в список провайдеров .

...