比方说,我有观测值X,Y和Z。是否有RxJS运算符,该运算符根据每个动作的位置来应用动作,例如:
concat(x, y, z).pipe(someOperator(a, b, c)).subscribe(done);
因此,X
的发射值将由A
处理,Y
的值将由B
处理,依此类推。
答案 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();