如果在RxJs WebSocketSubject中连接,则获取事件

时间:2017-08-22 10:23:18

标签: javascript rxjs rxjs5

我想知道如果WebSocketSubject已连接,我该如何得到回复?

在源代码(https://github.com/ReactiveX/rxjs/blob/master/src/observable/dom/WebSocketSubject.ts)中,他们的openObserver成员类型为NextObserver<Event>

&#13;
&#13;
 socket.onopen = (e: Event) => {
      const openObserver = this.openObserver;
      if (openObserver) {
        openObserver.next(e);
      }
      .....
&#13;
&#13;
&#13;

如何连接到它,以获取事件,套接字已打开?

1 个答案:

答案 0 :(得分:2)

openObserver参数接受NextObserver界面,因此您可以使用:

let socket = new WebSocketSubject({
  url: 'ws://localhost:8081',
  openObserver: {
    next: value => {
      console.log(value);
    }
  }
});

或者您可以创建自己的扩展NextObserver的类,并将其实例作为{ ..., openObserver: new MyObserver() }传递给参数。