gitlab Apiの最初の呼び出しを実行し、すべてのスター付きプロジェクトを返します。完了したら、カスタムプロジェクトオブジェクトに追加してどこかに保存するために、各プロジェクトに関連付けられたすべてのマイルストーンを取得したいと思います。rxjs angular - foreachとの結果をマージしてobserableのリターンを分割します
forEach httpコールを実行し、すべての呼び出しが完了して結果を1つにマージするのを許可するrxjs演算子がありますか?
getStarredProjects$(): Observable<GitlabProject[]> {
return this.http.get(this.starredProjectsUrl).map((res: GitlabProject[]) => {
res.forEach((project:GitlabProject)=>{
this.getMileStones(project.id).subscribe()
})
return res
})
}
getMileStones(projectId:number){
return this.http.get(`${this.projectUrl}/${projectId}/milestones`)
}
'forkJoin'は[observablesの配列](https://github.com/ReactiveX/rxjs/blob/5.4.3/src/observable/ForkJoinObservable.ts#L34-L37)という単一のパラメータを受け入れます。しかし、あなたと同じように、私は普及している構文を使用することをお勧めします。例えば。 'ObservableInput'として扱われるため、observableの配列を' concat'に渡すことはできません。 – cartant
@cartant良い点です。私はそれを反映するために私の答えを更新しました。 – LLai