【发布时间】:2018-11-26 19:54:20
【问题描述】:
假设我有可观察的 X、Y 和 Z。是否有一个 RxJS 运算符,它根据每个动作的位置应用动作,就像这样:
concat(x, y, z).pipe(someOperator(a, b, c)).subscribe(done);
所以X 发出的值将由A 处理,Y 的值将由B 处理等等。
【问题讨论】:
-
根据你的描述,你不是真的想
concat(x.pipe(map(a)), y.pipe(map(b)), z.pipe(map(c)))吗? -
并非如此。在最坏的情况下,它可能会有所帮助,但我想生成更少的代码,例如
concat(x.pipe(map(a)), y.pipe(map(b)), z.pipe(map(c)))。 -
你是说这不是你想要的结果,还是你不想那样写?您将不得不在串联的上游进行,因为下游您不知道值来自哪个来源。
-
我不想这样写。
-
如果请求彼此独立,那么您不应该将它们连接起来。
concat对组合流施加特定的排序。 @jonrsharpe 的评论是您所写问题的答案,但您的问题似乎与您要解决的问题不匹配。
标签: javascript rxjs