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

Getting event if connected in RxJs WebSocketSubject

我想知道如果 WebSocketSubject 已连接,我如何才能得到响应?

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

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

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

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

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

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