Javascript RxJS-将映射元素连接到流上
是否有一个操作符允许我映射流中的元素,但不是转换它们,而是连接它们 我有一条小溪 A=>B=>CJavascript 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)” 这样就可以了,但是我不得不烦人地分解并存储我的流(我想对于一个小例子来说这很好,但是对于一个较长的管道来说,它更麻烦) 我最终找到了正确的运算符(在撰写本
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));