2016-12-15 7 views
0

フロントエンドの開発にはOpenUI5を使用していますが、rxjsはサポートしていません。例えばマニュアルを作成する

、私はOpenUI5イベントから押しボタンを聴きたいとButtonコントロールは、イベントリスナーを実装していないので

var source = Rx.Observable.fromEvent(input, 'press'); 

var subscription = source.subscribe(
    function (x) { 
    console.log('Next: Clicked!'); 
    }, 
    function (err) { 
    console.log('Error: %s', err); 
    }, 
    function() { 
    console.log('Completed'); 
    }); 

のように行うことができませんでした。

私はObservableを自分で作成する必要があります。どのようにObservableを作成するのですか? fromEventもし

+0

あなたが達成しようとしているもの手の込んだことはできますか?イベントを 'fromEvent'でラップするのは優れたアプローチです(そして' subscribe'はそれらを熱くします) –

+0

rxjsでプレスイベントを処理するには、私は手を伸ばしたいと思います。 https://sapui5.netweaver.ondemand.com/docs/api/symbols/sap.m.Button.html#attachPress –

答えて

0

はあなたのために動作しない、またはインスタンスのために、あなたはこのような何かを行うことができ、同じストリームに複数のイベントを配線します:

function mouseAllTheThingsStream(){ 
    const target = document.getElementById('#content'); 
    return Rx.Observable.create(observer => { 
    target.onmousemove(evt => observer.onNext(evt)); 
    target.onmousedown(evt => observer.onNext(evt)); 

    window.setTimeout(() => observer.onCompleted(), 30 * 1000); 

    return() => { 
     // cleanup; unsubscribe from events manually 
    } 
    }); 
} 
+0

'window.setTimeout(()=> observer.onCompleted()、30 * 1000);' whatこれは? –

+0

カスタム作成された観測可能性の完了の例を与えるには –

+0

なぜ完了しなければなりませんか? –

関連する問題