【发布时间】:2017-05-06 16:39:36
【问题描述】:
使用 Rx,获取 Subject 中当前观察者数量的最佳方法是什么?
我有一个场景,我想发布一条消息,但前提是有观察者。如果没有观察者,我需要做点别的。
为了解决这个问题,我所做的是创建自己的 ISubject 实现并公开内部 IObserver 集合的计数。我确信必须有一种开箱即用的方式来做到这一点,我只是不完全熟悉 Rx 所提供的功能。
谢谢!
【问题讨论】:
-
为什么要关心是否有观察者?
-
我关心的不是我有一个观察者,而是关心我没有观察者的时候。在我的应用程序中,我有处理某些消息的窗口。他们是观察者。如果没有打开窗口,我会创建一个新窗口。所以我需要知道我什么时候没有观察者才能创建一个新窗口。
-
这听起来像是你要放入观察者的逻辑(不管你的窗口管理是什么);将其放入您观察的事物中似乎是一个糟糕的设计决定。
-
我在这里必须同意@casperOne。这通常应该以订阅构建管道的形式表示。
标签: system.reactive