javascript-有没有一种方法可以创建由方法调用触发的可观察序列,而无需使用Subject?

我提供了带有几种方法的服务,这些方法在我的代码的不同位置调用.

class Service {
  method1() {
  }

  method2() {
  }

我希望能够订阅这些方法调用,即具有一个observable,只要该方法之一被调用,它就会发出一个值.我意识到我可以使用Rx.Subject来做到这一点,但我想知道是否有办法做到这一点,因为我的情况不满足列出的here的要求,即我不需要热观测.

解决方法:

使用主题.根据定义,您所需要的可观察到的温度很高.

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

Hot observables do not cause subscription side effects.

Cold observables do cause subscription side effects; however, we must assume that any observable with an unknown temperature is cold, and sometimes that assumption will be wrong; therefore, a more accurate definition is:

Cold observables may cause subscription side effects.

就您而言,代码正在调用您的方法,无论是否有任何“订阅”在调用方法时得到通知.订阅通知不会触发任何活动或行为更改.实际上,迟到的订户将“错过”在订阅之前进行的呼叫.

上一篇:javascript-检测对象是否为Stream类的实例的最佳方法是什么?


下一篇:javascript-使用RxJS将多个ajax请求转换为Observable