@missbells

Почему async pipe в Angular не работает с геттером, который возвращает Promise?

Почему async pipe в Angular не работает с геттером, который возвращает Promise?

Компонент .ts:

get user(): Promise<string> {
     //метод возвращающий промис
    return getCurrentUser();
  }


Компонент .html
<p>{{ user | async }}</p>

user | async - в html эта штука возвращает ничего, просто пустая строка

Почему такое просходит? В чем может быть проблема?

ПС. Если в конструкторе дождаться резолва промиса и в then присвоить в user результат и в html выводить просто user как string без async pipe, то все работает без проблем. Т.е. метод getCurrentUser() работает корректно
  • Вопрос задан
  • 51 просмотр
Решения вопроса 1
Xuxicheta
@Xuxicheta Куратор тега Angular
инженер
Если так сделать, то на каждую проверку изменения Ангуляр будет запускать промис заново. Если это у вас сетевой запрос, проверьте что у вас там не миллион отмененных запросов.

Надо бы не через геттер, а передать промис в переменную.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы