RxJS,运算符,根据其位置在可观察的位置应用功能

时间:2018-11-26 19:54:20

标签: javascript rxjs

比方说,我有观测值X,Y和Z。是否有RxJS运算符,该运算符根据每个动作的位置来应用动作,例如:

concat(x, y, z).pipe(someOperator(a, b, c)).subscribe(done);

因此,X的发射值将由A处理,Y的值将由B处理,依此类推。

1 个答案:

答案 0 :(得分:0)

您可以像下面这样简单地对其进行操作,但是要做到这一点,您可以创建自己的运算符(如果它很频繁)

from([{obs:z, fn:a},{obs:y, fn:b},{obs:z, fn:c}]).pipe(
mergeMap(({obs,fn})=>obs.pipe(map(value=>fn(value))
).subscribe();