RX Subject 使用最后一个值添加新的 emit

RX Subject add new emit using last value

我有两个科目:a$ 和 b$。

var a$ = new Rx.Subject();
var b$ = new Rx.Subject();

当b$ emits 东西的时候,需要取这个值加上a$ 的last emit。然后它需要把这个结果发送给a$.

a$ ---4----6------------->
b$ -------------3-------->

result

a$ ---4----6----9-------->
b$ -------------3-------->

我找不到这个任务的解决方案

您可能可以使用 withLatestFrom 运算符。例如:

b$.withLatestFrom(a$, function (b,a){return a+b})
  .subscribe(function(x){a.onNext(x)})

或更简洁:

b$.withLatestFrom(a$, function (b,a){return a+b})
  .subscribe(a)