有没有办法在不使用Subject的情况下创建由方法调用触发的可观察序列?

时间:2016-07-01 15:04:49

标签: javascript rxjs

我有一个带有几种方法的服务,在我的代码中的不同位置调用。

class Service {
  method1() {
  }

  method2() {
  }

我希望能够订阅那些方法调用,即有一个observable,只要调用其中一个方法,就会发出一个值。我意识到我可以使用Rx.Subject执行此操作,但我想知道是否有办法在没有这样做的情况下执行此操作,因为我的情况并不满足列出here列出的要求,即我不需要热点观察。

1 个答案:

答案 0 :(得分:4)

使用主题。根据定义,您想要的观察结果很热。

再次阅读Hot and Cold Observables文章。这是重要的一点:

  

热观察导致订阅副作用。

     

冷观察确实导致订阅副作用;但是,我们必须假设任何温度未知的可观察物都是冷的,有时这种假设是错误的;因此,更准确的定义是:

     

冷观察可能导致订阅副作用。

在您的情况下,代码正在调用您的方法是否有任何内容"订阅"在调用方法时得到通知。订阅通知不会触发任何活动或行为更改。事实上,迟到的订阅者将会错过"在他们订阅之前发出的电话。