我有一个带有几种方法的服务,在我的代码中的不同位置调用。
class Service {
method1() {
}
method2() {
}
我希望能够订阅那些方法调用,即有一个observable,只要调用其中一个方法,就会发出一个值。我意识到我可以使用Rx.Subject
执行此操作,但我想知道是否有办法在没有这样做的情况下执行此操作,因为我的情况并不满足列出here列出的要求,即我不需要热点观察。
答案 0 :(得分:4)
使用主题。根据定义,您想要的观察结果很热。
再次阅读Hot and Cold Observables文章。这是重要的一点:
热观察不导致订阅副作用。
冷观察确实导致订阅副作用;但是,我们必须假设任何温度未知的可观察物都是冷的,有时这种假设是错误的;因此,更准确的定义是:
冷观察可能导致订阅副作用。
在您的情况下,代码正在调用您的方法是否有任何内容"订阅"在调用方法时得到通知。订阅通知不会触发任何活动或行为更改。事实上,迟到的订阅者将会错过"在他们订阅之前发出的电话。