I am sending a request to Web API and sending again another request to the same API based on the return value from first API return. Then I am trying to map the Web API components to a class, but map method doesn't wait for second call to return. Please help that how can i map after successful return of both calls?
Below is my code
getOrderDetail(orderId: string): Observable<OrderHeader> {
return this.svc.wCWebClientServiceGetOrderDetails({ _orderId: orderId })
.do(order => {
order.SalesLines.forEach(saleLine => {
if (saleLine.RelatedOrders !== undefined && saleLine.RelatedOrders.length > 0) {
saleLine.RelatedOrders.forEach(relatedOrder => {
this.svc.wCWebClientServiceGetOrderDetails({ _orderId: relatedOrder.TransId })
.subscribe(relOrder => {
//debugger;
relOrder.SalesLines.forEach(relLine => {
order.SalesLines.push(relLine);
});
})
});
}
})
})
//.do(order => console.log('Received order', order))
.map(order => this.transformOrder(order));
}