RXJS WebSocket的主题onconnected
问题描述:
我需要一个可观察到订阅当我Rx.Obervable.webSocket连接。有一个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 ...
});
答
我想你可以做这样的事情:
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(...);
这应该先放出一个值对象建立连接时,然后发出每一个消息。
isConnected()是什么?我想你想写'socket.subscribe()'。 – martin
sry那不清楚。当套接字完全连接时,我需要一个可以订阅的Observable。 isConnected()应该是返回这样一个Observable的函数。 – Pascal