角度4を使用していますが、2つのエンドポイントからデータを取得しようとしましたが、rxjsを理解する上で問題があります。角度4は複数のHTTPリクエストのデータを結合します
このコードでは、学生とユーザーのリストしか取得できません。
getStudent() {
return this.http.get(this.url + this.student_url, this.getHeaders()).map(res => res.json());
}
getUsers() {
return this.http.get(this.url + this.users_url, this.getHeaders()).map(res => res.json());
}
のは、これがデータであるとしましょう: 学生
[{"ID" : 1 , "SchoolCode": "A150", "UserID": 1 },
{"ID" : 5 , "SchoolCode": "A140" , "UserID": 3},
{"ID" : 9 , "SchoolCode": "C140" , "UserID": 4}]
ユーザー
[{"ID" : 1 ,"Name": "Rick" , "FamilyName" , "Grimes" },
{"ID" : 4 ,"Name": "Carle" , "FamilyName" , "Grimes" }]
私が最初にすべての学生が、それはユーザと同じだならば、私は両方の組み合わせユーザーIDを比較取得したいです私はこのような配列を得るまで、オブジェクトを1つにします:
{"ID" : 1 , "SchoolCode": "A150","Name": "Rick" , "FamilyName" , "Grimes" }
私はフラットマップを使うべきだと思いますが、コードを書こうとしましたが、私にとってはうまく動作せず、そのようなロジックを持つ例は見つかりませんでした。
私を助けてください。
flatmapをあなたはストリームを変更することができます。たとえば、学生に尋ねることができますし、特定の学生のためのコースのリストを得ることができます。 n;この場合は常に両方のリストが必要ですし、いくつかのロジックを実行できるので、forkjoin、マージ、または組み合わせが必要な場合があります – David