Как правильно загружать и получать доступ к общедоступным сервисам в Angular? - PullRequest
0 голосов
/ 09 февраля 2020

Я пытаюсь загрузить данные из моего файла YAML в службу, которая на следующих этапах будет доступна для двух компонентов. Вот мой код .

Дело в том, что я не могу получить доступ к данным за пределами службы конструктора, где я подписываюсь, потому что я получаю неопределенное значение. Я понимаю, что данные на данный момент еще не могут быть готовы. Тем не менее, я понял, что если я буду использовать asyn c на ngOnInit и await на методе readAsProperty, то он будет работать нормально. Но я не хочу фильтровать данные в компоненте, я хотел бы сделать это в сервисе.

Как вы можете видеть в моем коде, я пробовал несколько вещей, и я знаю, что каким-то образом эта строка из file:

let propertyResponse = await this.checkService.readAsProperty().toPromise();

позволяет мне получить доступ ко всем данным из службы. Я предполагаю, что это вызвано ожиданием обещания checksProperties, и в то же время другая подписка уже завершилась, но я не уверен, правильно ли мое понимание здесь.

Тем не менее, моя цель состоит в том, чтобы у меня есть сервис с данными YAML, к которому я могу получить доступ внутри компонента.

...