const ws = Observable.webSocket('ws://…');
ws.subscribe(
message => console.log(message),
error => console.log(error),
() => {},
);
Я хочу наблюдать мое соединение с WebSocket с RxJS. Реагируя на события onmessage
, подписываясь на наблюдаемые работы, как шарм. Но как я могу получить доступ к onopen
событию WebSocket? И можно ли запустить метод WebSocket .close()
? RxJS для меня довольно новичок, и я проводил исследования в течение нескольких часов, но, возможно, я просто не знаю правильных условий. Заранее спасибо.
Глядя на исходный код Websocket, есть объект конфигурации WebSocketSubjectConfig
который содержит наблюдаемые, которые вы можете связать с разными событиями. Вы должны иметь возможность передать NextObserver
набранный NextObserver
в значение конфигурации openObserver
следующим образом:
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();