2016-11-01 2 views
1

私はRxを使用していますが、同じ演算子を使用する2つのクリックストリームがあります。 同じ部分をどのように抽出して再利用できますか?Rx js演算子の再利用方法

私はこれを抽出したい
let gender$ = Rx.Observable.fromEvent(gender, 'click').map(e => e.target).filter(t => t.nodeName === "LI").map(li => li.textContent.trim()) 

let type$ = Rx.Observable.fromEvent(type, 'click').map(e => e.target).filter(t => t.nodeName === "LI").map(li => li.textContent.trim()) 

let combine$ = Rx.Observable.combineLatest(
    gender$, 
    type$ 
) 

.map(e => e.target).filter(t => t.nodeName === "LI").map(li => li.textContent.trim()) 

答えて

0
const getTextFromLis = stream$ => stream$.map(e => e.target).filter(t => t.nodeName === "LI").map(li => li.textContent.trim()); 

let gender$ = getTextFromLis(Rx.Observable.fromEvent(gender, 'click')); 

のRxの連鎖の一部が.map()または.filter()を呼び出すと、あなたが合格とに戻ることができ新しいストリームを取得することを意味します/ from関数。

関連する問題