APP_INITIALIZER блокирует загрузку приложения при ошибке - PullRequest
0 голосов
/ 13 декабря 2018

Я улавливаю ошибку в подписке и прилагаемом обещании.

    @Injectable()
    export class CountryListResolver {

        public countryList: Locale[];

        constructor(private portareServices: PortareServices) { }

        load() {
            return new Promise((resolve, reject) => {
                this.portareServices.getCountryList().subscribe((data) => {
                    this.countryList = data;
                    resolve(true);
                },
                error => {
                    console.log('CountryListResolver', error);
                },
                () => {
                    // No errors, route to new page
                });
            }).catch((err: any) => Promise.resolve());
        }
    }

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

  // this.localesEU = this.portareDataModel.setLocalesEU = this.countryListResolver.countryList;

Приложение загружается очень хорошо, когда закомментировано функция load.Кроме того, если служба разрешается успешно, все работает просто как шарм.

  providers: [
      CountryListResolver, { provide: APP_INITIALIZER, useFactory: countryListProviderFactory, deps: [CountryListResolver], multi: true }
  ]

Как решить эту проблему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...