Задать вопрос
@kttotto
пофиг на чем писать

Как в angular правильно вызвать асинхронный метод с параметром из html разметки?

Ангуляр проект, есть асинхронный метод, который делает запрос данных по параметру
async getAddressByCode(addressCode: string) {
	const address = await this.resourceService.getAddressByCode(addressCode).toPromise();
	return address;
}

Как правильно вызвать данный метод из html разметки?
Пробовал так
<span>{{getAddressByCode(addressCode)}}</span>
в результате на странице
[object Promise]
Пробовал и так
<span>{{async getAddressByCode(addressCode)}}</span>

Это вызывает ошибку парсинга Parser Error: Unexpected token 'getAdressByCode'

Вообще, существует ли возможность в ангуляре вызывать нормальные async методы, а не только RxJs?
  • Вопрос задан
  • 262 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
Xuxicheta
@Xuxicheta Куратор тега Angular
инженер
<span>{{ getAddressByCode(addressCode) | async }}</span>

AsyncPipe умеет раскрывать промисы.
Разумеется метод будет вызываться каждый раз при проверке изменений.


существует ли возможность в ангуляре вызывать нормальные async методы, а не только RxJs?

Angular это все еще js и работать с асинками в нем можно. Но как правило не нужно потому, что создаются совершенно лишние обертки, rx просто удобнее.
Для реквестов используется xhr, и его событийная природа легко конвертируется в rx поток.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы