は、私はJSONを返す2つのAPI呼び出しがあるとdetailIdを取得する各行オブジェクトをループして、rowDetailsをもう一度呼び出して、行オブジェクトに詳細を添付します。私はフィニッシュにすべてのコールを待つためにq.allSettledを使用することになり、角1では観測/ RxJSと角度で2つの従属APIコールをマージ
{
{"row": 1, "detailId": a, "details": { row details}}
{"row": 2, "detailId": b, "details": { row details}}
}
:最終的な構造はそうのように放出される必要があります。
私はこれを観察可能な方法で実行しようとしており、私は概念的かつ実質的に苦労しています。私はあなたが最終的な製品として実際に合流した「ストリーム」をどのように放出するのかを知りません。
私は大体試してみた:
this.http
.get('rows')
.map(res => res.json())
.flatMap(group => this.http.get('rowDetails' + detailId))
.map(res => res.json()).
.subscribe(res => console.log(res))
はちょうどrowDetailsが呼び出す発する購読します。行の各オブジェクトを反復処理して、最終製品の結果をマージする際に別の呼び出しのためにそのdetailIdを取得するにはどうすればよいですか?どんな助けでも大歓迎です。
2番目の 'get'は実際に最初の結果に依存しますか? 「Observable.combineLatest」がベスト・ベットのように見えない場合。 – jonrsharpe
はい、それは、特定の行の行の詳細を取得する呼び出しを行うには、各行オブジェクトのdetailIdが必要です – AnotherMike
したがって、最初の呼び出しの結果ごとに1つの呼び出しを分割し、すべての結果を一緒に結合しますか? – jonrsharpe