【发布时间】:2021-03-08 18:57:41
【问题描述】:
我正在使用RxJS 6 我的代码中有两个可观察对象
import { combineLatest } from 'rxjs/operators';
loading$: Observable<boolean>;
loaded$: Observable<boolean>;
observables 不是来自http 请求,而是来自store
我需要根据此逻辑将序列组合/转换为一个可观察值:
如果序列true,true或false,false - 需要返回新的observable true否则需要返回false
我尝试使用combineLatest 来实现:
combineLatest(
this.loaded$, this.loading$,
(val1, val2) => Number(val1) + Number(val2) === 1
)
但问题是我的combineLatest 返回'OperatorFunction<> 而不是Observable<>,所以我无法订阅。
你对如何解决这个问题有任何想法吗?或者是否可以采取其他方法?
更新:
似乎这就是我的问题的答案import { combineLatest } from 'RxJS';
正在测试中
【问题讨论】:
-
您是否导入了
pipe-variant 的combineLatest? -
参见github.com/ReactiveX/rxjs/blob/master/MIGRATION.md,您应该将参数的结果选择器移出 到combineLatest。另请注意,您当前的选择器没有实现您描述的行为。
-
@Caramiriel 是的,我做到了