RX受试者使用上一个值添加新发射

RX Subject add new emit using last value

本文关键字:新发射 发射 添加 受试者 上一个 RX      更新时间:2023-09-26

我有两个主题:a$和b$。

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

当b$发出一些东西时,需要取这个值并与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)