2017-07-16 8 views
1

私のRx.Obervable.webSocketが接続されているときは、Observableを購読する必要があります。使用できるopenObserverプロパティがありますが、Observalbeを作成する方法はありません。RXJS webSocket件名onconnected

const WebSocket = require('ws'); 
const Rx = require('rxjs'); 

const observer = { 
    next: (event) => { 
    console.log('Test'); 
    } 
} 

const socket = Rx.Observable.webSocket({ 
    url: 'ws://192.168.100.155:2001', 
    WebSocketCtor: WebSocket, 
    openObserver: observer, 
    protocol: 'server' 
}); 

isConnected().subscribe(() => { 
    // do something after socket is connected ... 
}); 
+0

isConnected()とは何ですか?私は 'socket.subscribe()'を書いたかったと思います。 – martin

+0

sryは明らかではありませんでした。ソケットが完全に接続されているときに私が購読できるObservableが必要です。 isConnected()はObservableを返す関数でなければなりません。 – Pascal

答えて

1

私はあなたがこのような何かを行うことができると思います:

const subject = new Subject(); 

const socket = Rx.Observable.webSocket({ 
    url: 'ws://192.168.100.155:2001', 
    WebSocketCtor: WebSocket, 
    openObserver: subject, 
    protocol: 'server' 
}).multicast(subject); 

subject.subscribe(...); 

これは、最初の接続が確立されたときに対象に値を放出して、一つ一つのメッセージを発する必要があります。