Angular2:我想在结果中使用.subscribe()
的结果。
这是为了在嵌套订阅中使用来自父订阅的id。
我首先尝试使用.switchMap()
,但这似乎无效。
这是我的尝试:
this.serviceA.getOrg()
.switchMap(org => this.serviceB.getOrgType(org.id))
.subscribe(type => {
console.log(type);
});
答案 0 :(得分:4)
尝试使用flatMap:
this.serviceA.getOrg()
.flatMap(org => this.serviceB.getOrgType(org.id))
.subscribe(type=> {
console.log(type);
});
答案 1 :(得分:3)
尝试这样:
this.serviceA.getOrg()
.flatMap((org) => {
console.log('org', org);
return this.serviceB.getOrgType(org.id)
})
.subscribe((type) => {
console.log('type', type);
});
答案 2 :(得分:2)
请尝试使用.flatMap()
:
this.serviceA.getOrg()
.flatMap((org) => this.serviceB.getOrgType(org.id))
.subscribe((type) => {
console.log(type);
});