使用 RxJS 6.x WebSocketSubject 客户端 [英] Using RxJS 6.x WebSocketSubject client

查看:50
本文介绍了使用 RxJS 6.x WebSocketSubject 客户端的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我不知道如何在 rxjs v6.x

I cannot figure out how to use WebSocketSubjects in rxjs v6.x

这是 v5.5.6 的工作 HTML/JS.注释掉的代码是我试图让它在 v6.x 中工作的尝试:

Here's the working HTML/JS for v5.5.6. The commented out code is my attempt at getting it working in v6.x:

<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>

推荐答案

我使用 rxjs@6.1.0 让它工作.正如我所怀疑的,我只是错误地使用了第 6 版的语法.查看工作示例:

I got it working with rxjs@6.1.0. As I suspected, I was just using the version 6 syntax wrong. See working example:

<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>

这篇关于使用 RxJS 6.x WebSocketSubject 客户端的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆