RxJS5 - Observable仅向其一个订户发送下一条消息

时间:2017-01-29 02:58:47

标签: node.js rxjs5

使用RxJS5,将下一条消息从Observable发送给其中一个订阅者的最佳方法是什么?更具体地说,我想将下一条消息发送给subscriber / observers列表中最老的订阅者。

这是我的尝试,但我无法验证它是否正确:

        let obsClient = this.obsClient = new Subject<any>();

        this.clientStream = Observable.create(sub => {

            const push = Subscriber.create(v => {
                // I assume that zeroeth element holds oldest sub
                if(push === obsClient.observers[0]){
                    sub.next(v);
                }
            });

            return obsClient.subscribe(push);
        });

        function onClientConnectionChange(clientCount) {
            obsClient.next({
                time: Date.now(),
                clientCount: clientCount
            });
        }

正如您所看到的,我们推送到Subject,但是它被this.clientStream包装。任何订阅者都会订阅this.clientStream而不是this.obsClient。

0 个答案:

没有答案