То, с чем вы сталкиваетесь, - это состояние гонки. Вы подписываетесь на наблюдаемый orderDetailEmitter, прежде чем он имеет действительное целочисленное значение. Это нормально.
У меня есть два исправления, о которых я знаю.
- Объединяет значение:
{{ ( (productNumber | async ) || 0 )* 90 }}
Используйте ngIf
<div *ngIf="productNumber | async" class="mat-display-1">you have to pay {{(productNumber | async ) * 90 }} $</div>
Любой из них должен сработать.