我有一个相当笨重的代码集,其中来自一个observable的数据被输入另一个,如:
let source = this.myService.getFoo()
.subscribe(result => {
let source2 = this.myService.getMoo(result)
.subscribe(result2 => { // do stuff });
});
Run Code Online (Sandbox Code Playgroud)
我知道有很多方法可以组合和链接,但是我需要将来自源的数据输入source2.订阅的嵌套看起来很糟糕,我很确定有更好的方法来做到这一点.
谢谢!
Zah*_*hiC 18
要将Observable发出的项转换为另一个Observable,您可能希望使用flatMap运算符.它创建一个内部Observable并将其结果平移到外部流.
let source = this.myService.getFoo()
.flatMap(result => this.myService.getMoo(result))
.subscribe(result2 => { // do stuff });
Run Code Online (Sandbox Code Playgroud)
以下是一些可以使用的平面运算符:
| 归档时间: |
|
| 查看次数: |
9099 次 |
| 最近记录: |