Angular 带迭代的角度嵌套API调用

Angular 带迭代的角度嵌套API调用,angular,ionic-framework,rxjs,Angular,Ionic Framework,Rxjs,有没有更好的方法来实现这一点(让所有用户都拥有他们的照片): this.authHttp.get(this.apirl+'users')) .map(res=>res.json()) .订阅(用户=>{ for(让用户对用户){ this.authHttp.get(this.apirl+'users/'+user.id+'/photos') .map(res=>res.json()) .订阅(照片=>{ 用户['photos']=照片; 此.items.push(用户); }) } }); 也

有没有更好的方法来实现这一点(让所有用户都拥有他们的照片):

this.authHttp.get(this.apirl+'users'))
.map(res=>res.json())
.订阅(用户=>{
for(让用户对用户){
this.authHttp.get(this.apirl+'users/'+user.id+'/photos')
.map(res=>res.json())
.订阅(照片=>{
用户['photos']=照片;
此.items.push(用户);
})
}
});
也许使用合并地图

谢谢你的建议


Julien

我假设
res.json()
是一个同步调用,将json作为对象返回,以便您可以在其上进行链接:

this.authHttp.get(this.ApiUrl+'users')
.mergeMap(res = res.json().users)
.mergeMap(
  user => this.authHttp.get(this.ApiUrl+'users/'+user.id+'/photos'),
  (user, photosRes) => { 
    user['photos'] = photosRes.json(); 
    return user; 
   }
)
.subscribe(user => this.items.push(user));

此代码示例使用了
mergeMap
重载,该重载使用
mapFunc(外部、内部)
,因此您可以访问这两个函数,并可以根据需要将它们合并在一起。

是的,
mergeMap
是一个好主意。谢谢,问题是我找不到如何使用mergeMap迭代用户。您面临的问题是什么?