2017-11-30 14 views
0

複数のイベントをマージする方法を試しましたが、動作させることができませんでした - 基本的にこの行は単一のイベントでうまく動作します。複数のイベントでSwitchmap()関数が動作しない

Observable.fromEvent(document.body, 'mousemove') 
.switchMap(() => Observable.timer(0, 1000)) 

私はので、私はこれをしなかったmousemovekeyupのような複数のイベントのために同じことをしたいと思います:

let mergedEvents = Observable.fromEvent(document.body, 'mousemove') 
        .merge(Observable.fromEvent(document.body, 'keyup')) 
mergedEvents.subscribe(event => event.switchMap(() => Observable.timer(0, 1000)) 

作業されていない - 私は、これは複数のイベントで動作するように取得できますか?

+0

'mergedEvents.switchMapを(ここでは、私はちょうど出力にクリックし、それをチェックするために、文書にクリックを使用します) 'サブスクライブ(/)はサブタイプ(0,1000)です。サブスクライブ(/*...*/) ' – cartant

+0

@cartant、申し訳ありません、働いていません、サブタイプはObservableタイプに割り当てられません。 – fatah

+0

働いていない?期待される行動は何ですか?現在の行動は何ですか?それは例外ですか?あなたは予想以上の出来事をしていますか?予想よりもイベントが少ないですか? – olivarra1

答えて

0

あなたのmergedEvensでswitchMapをチェーン望めない:

let mergedEvents = Observable 
    .fromEvent(document.body, 'mousemove') 
    .merge(Observable.fromEvent(document.body, 'keyup')) 

mergedEvents 
    .switchMap(() => Observable.timer(0, 1000)) 
    .(...) 

例ここ:https://jsbin.com/xiyuvuwogo/1/edit?js,console,output

関連する問題