Javascript RxJS-将映射元素连接到流上

Javascript RxJS-将映射元素连接到流上,javascript,rxjs5,reactive-extensions-js,Javascript,Rxjs5,Reactive Extensions Js,是否有一个操作符允许我映射流中的元素,但不是转换它们,而是连接它们 我有一条小溪 A=>B=>C items$.concatMap(x=>f(x)) 会导致 “f(A)”=>“f(B)”=>“f(C)” 而concat不接收作为param的元素,因此也不起作用 我想实现: “A”=>“B”=>“C”=>“f(A)”=>f(B)=>“f(C)” 这样就可以了,但是我不得不烦人地分解并存储我的流(我想对于一个小例子来说这很好,但是对于一个较长的管道来说,它更麻烦) 我最终找到了正确的运算符(在撰写本

是否有一个操作符允许我映射流中的元素,但不是转换它们,而是连接它们

我有一条小溪

A=>B=>C

items$.concatMap(x=>f(x))
会导致

“f(A)”=>“f(B)”=>“f(C)”

concat
不接收作为param的元素,因此也不起作用

我想实现:

“A”=>“B”=>“C”=>“f(A)”=>f(B)=>“f(C)”

这样就可以了,但是我不得不烦人地分解并存储我的流(我想对于一个小例子来说这很好,但是对于一个较长的管道来说,它更麻烦)


我最终找到了正确的运算符(在撰写本文时,我在中找不到),但它被称为
let
,并将整个当前可观测值作为参数提供给您

item$.let(obs$ => obs$.concat(obs$.map(f));
如果它是第一个操作的话,这并不令人印象深刻,它确实很有用,但是您可以在前面有更多的东西,并且希望避免停止并将流存储在局部变量中:

item$.debounce(1000)
     .map(z => f(z.id))
     .moreOperators(...)
     .let(obs$ => obs$.concat(obs$.map(f));
item$.debounce(1000)
     .map(z => f(z.id))
     .moreOperators(...)
     .let(obs$ => obs$.concat(obs$.map(f));