У меня есть массив объекта JSON и вы должны добавить результат API-атаки с каждым объектом JSON, к определенному элементу каждого объекта JSON, и конечный результат должен отображаться в файле HTML? Но HTML-страницы уже отображаются перед данными, полученными из API?Как обрабатывать асинхронный вызов API?
Вопрос в том, что-то вроде этого:
<tr *ngFor="let order of Orders">
<td><img src="images/honey.jpg" style="width:50px;"/>
<span style="margin-left:10px;">{{order.productName}} <strong>[ package:</strong> {{order.packageName}}<strong>]</strong></span></td>
<td><input type="number" class="form-control" step="1" style="width:80px;" [value]="order.quantity" /></td>
<td><span>NPR Rs.{{order.Rate|number}}</span></td>
<td><strong>{{order.totalPrice}}</strong></td>
<td>
<a href="#" style="color:#F00"><i class="fa fa-trash" (click)="removeItem(order)"></i> Remove</a>
</td>
</tr>
Только totalPrice является calcuating со стороны API, и все другие содержимое уже с переменной Orders.
В TS файл:
calculatePrice(){
let i;
for(i =0;i<this.Orders.length; i++){
this.dataService.post("order/prices",this.Orders[i])
.subscribe(res=>{
this.Orders[i]['totalPrice'] = res.totalPrice;
})
}
}