rxjs:从观测值集中获取最后一个值

rxjs:从观测值集中获取最后一个值,rxjs,Rxjs,我有2个可观测值,我想得到最后一个发出的值 例如: private obs1: Observable<number> = interval(1000); private obs2: Observable<number> = interval(700); public lastValue; // should take the value of the last observable which emitted. private obs1:Observable=inte

我有2个可观测值,我想得到最后一个发出的值

例如:

private obs1: Observable<number> = interval(1000);
private obs2: Observable<number> = interval(700);

public lastValue; // should take the value of the last observable which emitted.
private obs1:Observable=interval(1000);
私有obs2:可观测=间隔(700);
公共价值;//应取发射的最后一个可观测值。

我找不到用于此操作的操作员。一种解决方案是订阅所有可观察的,然后将lastValue设置为主题,并使用next更新其值,但我希望避免订阅所有可观察的


谢谢

您需要
组合测试

import { combineLatest } from 'rxjs'; 

combineLatest(obs1, obs2)
    .subscribe(([valueOfObs1, valueOfObs2]) => //...

您可以使用
merge
将两个观测值合并为一个,并按照它们发出的顺序返回值。。因此,在订阅时,您将始终收到最新的值

merge(obs1,obs2).subscribe(结果=>{console.log(结果)})
如果观察值完成,您可以将上述内容与
takeLast
相结合,以获得发出的最后x值


您还可以包装实现并创建自己的
行为主题

它将返回一个数组,其中包含每个可观察对象的值,我只需要最后发出的值。谢谢,这正是我搜索的内容,尝试了mergeAll,但没有使用它。