【发布时间】:2019-04-15 09:00:48
【问题描述】:
我有嵌套订阅,我想使用合适的RxJS 运算符来摆脱它。我已经尝试过concatMap 和mergeMap,但很遗憾无法解决我的问题。
我有 3 个相互依赖的订阅,并在 forEach 循环中为当前循环的每个值触发一个新的 observable。为了更详细地说明这一点,这是我的示例代码:
this.subscriptionOne = this.serviceOne.getStreets().subscribe((streets) => {
streets.forEach((street) => {
this.subscriptionTwo = this.serviceTwo.getMetaData(street.id).subscribe((metaDatas) => {
metaDatas.forEach((md) => {
// do some stuff and then trigger another observable..
this.subscriptionThree = this.serviceTwo.getStuff(md.id, md.type, md.name).subscribe((stuff) => {
// do some other stuff
});
});
});
});
});
如何使用 RxJs 摆脱这种嵌套?
【问题讨论】:
标签: angular typescript rxjs observable rxjs6