Tôi đang sử dụng góc 4 và tôi cố gắng lấy dữ liệu từ 2 điểm cuối nhưng tôi gặp vấn đề khi hiểu rxj.Góc 4 kết hợp dữ liệu từ nhiều yêu cầu HTTP
bằng mã này tôi chỉ có thể nhận danh sách sinh viên và người dùng.
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());
}
Hãy nói rằng đây là dữ liệu: Student
[{"ID" : 1 , "SchoolCode": "A150", "UserID": 1 },
{"ID" : 5 , "SchoolCode": "A140" , "UserID": 3},
{"ID" : 9 , "SchoolCode": "C140" , "UserID": 4}]
tài
[{"ID" : 1 ,"Name": "Rick" , "FamilyName" , "Grimes" },
{"ID" : 4 ,"Name": "Carle" , "FamilyName" , "Grimes" }]
Tôi muốn nhận được đầu tiên tất cả học sinh sau đó so sánh UserID nếu nó giống như người dùng sau đó tôi kết hợp cả hai đối tượng thành một cho đến khi tôi nhận được một mảng như sau:
{"ID" : 1 , "SchoolCode": "A150","Name": "Rick" , "FamilyName" , "Grimes" }
Tôi nghĩ rằng tôi nên sử dụng flatmap nhưng tôi đã cố gắng viết mã nhưng nó không làm việc cho tôi và tôi đã không tìm thấy một ví dụ với logic như vậy.
Bạn có thể giúp tôi không.
flatMap cho phép bạn thay đổi luồng, ví dụ, bạn có thể yêu cầu học sinh và sau đó nhận danh sách các khóa học cho một sinh viên cụ thể sẽ là một optio tốt n; trong trường hợp này bạn luôn cần cả hai danh sách và sau đó bạn có thể làm một số logic, vì vậy bạn có thể cần forkjoin, hợp nhất hoặc kết hợp để làm như vậy – David