我对可观察对象和RxJ是新手,我想要调节返回。如果第一个选择器返回一个特定值,我想从第二个选择器返回一个观察值。但是如果第一个选择器没有返回那个特定值,我想返回false (而不是(False))。我已经走到这一步了,但这将返回一个可观察对象。它不应该是嵌套的。我该怎么做呢?下面是目前为止的代码:
const condition$: Observable<boolean> =
this.store.pipe(
select(this.firstSelector.get()),
map(item=> {
if (item !== X) {
return of(false)
} else {
return this.store.pipe(select(this.secondSelector.hasValue()))
}
})
)发布于 2020-11-17 16:21:09
你就快到了。您应该使用像switchMap这样的高阶映射操作符来返回一个可观察值。map用于转换和返回来自可观察对象的数据。
const condition$: Observable<boolean> = this.store.pipe(
select(this.firstSelector.get()),
switchMap(item =>
(item !== X)
? of(false)
: this.store.pipe(select(this.secondSelector.hasValue()));
)
)https://stackoverflow.com/questions/64871528
复制相似问题