Я улавливаю ошибку в подписке и прилагаемом обещании.
@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 }
]
Как решить эту проблему?