【发布时间】:2018-07-06 12:35:57
【问题描述】:
我有 3 个相关的 Rest API 资源(比如说 observables),如下所示:
第一个 observable 产生一个用户数组,像这样:
getUsers(): Observable<User[]>
[
{
"id": 1,
"name": "Peter",
"surname": "Smith"
},
{
"id": 2,
"name": "John",
"surname": "Wayne"
},
...
]
第二个 observable 可用于获取分配给用户的地址,因此输入参数是用户 ID,并返回一个作为地址数组的项目:
getUserAddresses(user_id: string): Observable<Address[]>
[
{
"id": 1,
"city": "London",
"street": "Wicombe 34"
},
{
"id": 2,
"city": "Paris",
"street": "La fever 20"
},
...
]
第三个 observable 可用于获取分配给用户的公司,因此输入参数是用户 ID,并返回一个项目作为公司数组:
getUserCompanies(user_id: string): Observable<Company[]>
[
{
"id": 1,
"name": "Fintch CO",
"state": "France"
},
{
"id": 2,
"name": "C&C inc.",
"state": "USA"
},
...
]
我想将这 3 个 observable 链接成一个,它将再次将结果作为一个项目产生,其中将包含用户数组以及他们的附加地址数组和公司数组,如下所示:
[
{
"id": 1,
"name": "Peter",
"surname": "Smith",
"addreesses":
[
{
"id": "1",
"city": "London",
"street": "Wicombe 34"
},
{
"id": "2",
"city": "",
"street": "La fever 20"
}
],
"companies":
[
{
"id": "1",
"name": "Fintch CO",
"state": "France"
},
{
"id": "2",
"name": "C&C inc.",
"state": "USA"
}
]
}
},
{
"id": 2,
"name": "John",
"surname": "Wayne",
"addresses": [...],
"companies": [...],
},
...
]
在使用 RxJs 6 的 Angular 6 中,操作符组合应该如何实现? 非常感谢您的建议。
【问题讨论】:
标签: angular rxjs observable operator-keyword