RXJS-角度:两个Observable <booleans>应该返回Observable <boolean>

时间:2019-08-20 13:36:52

标签: angular rxjs combinelatest

我想评估两个observable<boolean>,并且想将流程保存在另一个observable<boolean>中。

我尝试了combineLatest(obs1$, obs2$);,但它生成了observable<[boolean, boolean]>

是否有比combineLatest更好的函数来评估两个可观察值并返回另一个observable<boolean>

2 个答案:

答案 0 :(得分:2)

如果要将结果合并到单个流中,请使用merge() from 'rxjs'。 如果要对两者执行逻辑操作:

例如,最新合并一个项目函数作为最后一个参数 combineLatest(obs1$, obs2$, ([first, second]) => first || second) ;

已弃用。因此,您需要使用map

combineLatest(obs1$, obs2$,).pipe(
    map([first, second]) => first || second)
);

答案 1 :(得分:1)

我认为您可以在此处使用forkJoin,并且需要使用map运算符将这两个可观察对象映射为一个值。

forkJoin([observable1, observable2]).pipe(
    map(([bool1, bool2]) => {
        return bool1 & bool2;
    })
);