【发布时间】:2020-07-02 14:14:12
【问题描述】:
我需要进行不同的 API 调用。
第一个 API 调用返回 info 具有 userId、propertyId 的对象列表
对于每个项目,我需要根据第一次 API 调用返回的 ID 获取 userInfo 和 propertyinfo。
最后它必须返回info,userInfo,popertyInfo。
我想编写一次订阅方法以在ts 文件中进行这些 API 调用。
this.service.getInfo().subscribe((data) => {console.log('should list all the information')} //应该打印信息、用户信息、属性信息
我有以下代码:
getInfo() {
return this.http.get().pipe(
mergeMap((info) => {
})
}
第一个API:
[
{
info: 'some info 1',
userId: 1,
propertyId: 4,
},
{
info: 'some info 2',
userId: 2,
propertyId: 5,
},
{
info: 'some info 3',
userId: 3,
propertyId: 6,
},
];
每隔一个api:(从第一个API调用的每个数组元素中获取userId)
{
userName: 'asdasd',
age: 34
}
每第三个 API 调用:(从第一个 API 调用的每个数组元素中获取 propertyId)
{
propertyName: 'adasd',
otherProps: ''
}
最终响应应该是这样的
res =
[
{
info: 'some info 1',
userId: 1,
propertyId: 4,
userName: 'asdasd',
age: 34,
propertyName: 'adasd',
otherProps: ''
},
{
info: 'some info 2',
userId: 2,
propertyId: 5,
userName: 'a',
age: 34,
propertyName: 'b',
otherProps: ''
},
...
...
]
【问题讨论】:
-
对我来说,最终的结果还不清楚。你能提供信息(第一个响应)、第二个响应数据和输出数据的模拟吗?
-
@ВалерийГерасимов 我已经更新了我的问题,看看,如果可以的话,请帮助我。
标签: angular observable