2017-11-29 15 views
1
const ws = Observable.webSocket('ws://…'); 
ws.subscribe(
    message => console.log(message), 
    error => console.log(error), 
() => {}, 
); 

WebSocketとRxJSの接続を確認したいと思います。魅力のような観察可能な作品を購読することによって、onmessageのイベントに反応します。しかし、どうすればWebSocketのonopenイベントにアクセスできますか?そして、WebSocket .close()メソッドをトリガーすることは可能ですか? RxJSはかなり新しく、何時間も研究をしましたが、正しい用語が分からないことがあります。前もって感謝します。RxJS:Observable.webSocket()はonopen、oncloseにアクセスします。

答えて

2

sourcecode of the Websocketを見ると、さまざまなイベントにリンクすることができるオブザーバブルを含むコンフィグオブジェクトWebSocketSubjectConfigがあります。あなたはそのように設定値openObserverNextObserver型指定されたオブジェクトを渡すことができる必要があります:

const openEvents = new Subject<Event>(); 
const ws = Observable.webSocket({ 
    url: 'ws://…', 
    openObserver: openEvents 
}); 

openEvents 
    .do(evt => console.log('got open event: ' + evt)) 
    .merge(ws.do(msg => console.log('got message: ' + msg)) 
    .subscribe(); 
+0

ありがとうございました!あなたの説明は私にとっていくつかのことをより明確にしました。 – macroloft

関連する問題