Почему мое обещание не отображается с асин c? - PullRequest
0 голосов
/ 05 марта 2020

У меня есть обещание, которое содержит данные, которые нужно отобразить в шаблоне HTML, но оно не отображается.

В приведенном ниже методе я могу console.log inner.data() и найти данные мне нужно использовать. Осталось только отобразить его в моем шаблоне:

async getDay() {
    try {
      let ref = this.db.getDay(this.dateFirebase);
      this.day = await ref.then(out => {
        out.get().then(inner => {
          inner.data();
        });
      })
    } catch (err) {
      console.log(err);
    }
  }

Мой шаблон выглядит так:

<div class="modal-body">
    {{ day }}
    <div *ngFor="let item of day | async">
        {{ item }}
    </div>
</div>

Свойство компонента this.day определенно a обещаю, но я не могу быть уверен, что это правильно. Когда я пытаюсь отобразить его здесь, мой модал очень четко отображается с [object Promise]. Следующим логическим шагом должно быть использование асинхронного канала c для отображения разрешенного значения этого обещания.

Кажется, это правильная запись. day определенно обещание. inner.data() определенно содержит правильные данные. Используется асин c труба. Несмотря на это, ничего не отображается. Не выдается никаких ошибок в шаблонах, указывающих на то, что шаблон неправильный, но ничего не отображается, как будто ничего не отображается - .

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

...