代码之家  ›  专栏  ›  技术社区  ›  Corey Cole Roberto Tyley

使用RxJS 6。x WebSocketSubject客户端

  •  3
  • Corey Cole Roberto Tyley  · 技术社区  · 6 年前

    我不知道如何在rxjs中使用WebSocketSubjects v6.x

    以下是用于 v5.5.6 .注释掉的代码是我试图让它工作的 v6。十、 :

    <html>
    <head>
        <!-- <script src="https://unpkg.com/@reactivex/rxjs@6.0.0/dist/global/rxjs.umd.js"></script> -->
        <script src="https://unpkg.com/@reactivex/rxjs@5.5.6/dist/global/Rx.js"></script>
        <script>
            // const { WebSocketSubject } = rxjs.webSocket;
            // const socket$ = WebSocketSubject.create('ws://localhost:8080');
            const socket$ = Rx.Observable.webSocket('ws://localhost:8080');
            socket$.subscribe(
                    (data) => console.log(data),
                    (err) => console.error(err),
                    () => console.warn('Completed!')
                );
            socket$.next(JSON.stringify({
                event: 'events',
                data: 'test',
            }));
            console.log('here')
        </script>
    </head>
    <body></body>
    </html>
    
    1 回复  |  直到 6 年前
        1
  •  9
  •   Corey Cole Roberto Tyley    6 年前

    我用它工作 rxjs@6.1.0 .正如我所怀疑的,我只是用错了版本6的语法。参见工作示例:

    <html>
    
    <head>
        <script src="https://unpkg.com/@reactivex/rxjs@6.1.0/dist/global/rxjs.umd.js"></script>
        <script>
            const { WebSocketSubject } = rxjs.webSocket;
            const socket$ = new WebSocketSubject('ws://localhost:8080');
            socket$.subscribe(
                (data) => console.log(data),
                (err) => console.error(err),
                () => console.warn('Completed!')
            );
            socket$.next({
                event: 'events',
                data: 'test',
            });
            console.log('here')
        </script>
    </head>
    
    <body></body>
    
    </html>