在使用RxJS时,我需要从Observable中检索单个值,然后立即使用read(0, ..., ...)
将其应用于单独的订阅。
我有一个可行的解决方案,但它并不雅致。有没有一种方法可以简化或改善流程?
pluck()
答案 0 :(得分:4)
不建议使用嵌套订阅(例如使用显式订阅)。
在这种情况下最好使用switchMap
/ concatMap
/ mergeMap
运算符,因此您无需订阅两次,而只需订阅一次。
this.fooService.singleValue$.pipe(switchMap((value => {
return this.barService.allResults$.pipe(pluck(value));
}))).subscribe(() => {
//do something
});