RxJs 运算符的行为类似于 withLatestFrom 但等待第二个流的值

Wat*_*aal 4 rxjs

您好,我正在寻找一个行为类似于 withLatestFrom 的 RxJs 运算符,但它会等待第二个流发出值而不是跳过它。更明确地说:我只希望当第一个流发出新值时发出。

所以而不是:

---A-----B----C-----D-|
------1----------2----|
   withLatestFrom
---------B1---C1----D2|
Run Code Online (Sandbox Code Playgroud)

我想要这种行为:

---A-----B----C-----D-|
------1----------2----|
   ?????????????
------A1-B1---C1----D2|
Run Code Online (Sandbox Code Playgroud)

有这样的运营商吗?

Wat*_*aal 5

Smola在评论中提出了一个漂亮而干净的解决方案,只需使用一个distinctUntilKeyChanged运算符:

combineLatest(first$, second$)
    .pipe(distinctUntilKeyChanged(0))
Run Code Online (Sandbox Code Playgroud)

正如您在RxViz图中所看到的,这会产生所需的结果: RxViz 图