2016-07-01 2 views
3

私はコード内のさまざまな場所で呼び出される2つのメソッドを持つサービスを持っています。Subjectを使用せずにメソッド呼び出しによってトリガされる観測可能なシーケンスを作成する方法はありますか?

class Service { 
    method1() { 
    } 

    method2() { 
    } 

私はそれらのいずれかの方法が呼び出されるたびに値を放出する、観察を持っている、すなわち、それらのメソッド呼び出しに加入できるようにしたいと思います。私はRx.Subjectでこれを行うことができるとわかりますが、私の場合はリストされた要件を満たしていないので、それを使わない方法があるのだろうかと疑問に思っていますhereつまり、私は熱い観測可能は必要ありません。

答えて

5

件名を使用してください。あなたの望む観測値は、定義上、熱くなります。

もう一度Hot and Cold Observablesの記事を読んでください。重要なビットは次のとおりです。

熱い可観測性サブスクリプションの副作用が発生します。

低温観測ではサブスクリプションの副作用が発生します。しかし、我々は、気温が不明な観測可能なものは冷たいと仮定しなければならず、時にはその仮定が間違っていると仮定しなければならない。したがって、より正確な定義は次のとおりです。

寒い観察可能性mayサブスクリプションの副作用が発生します。

あなたのケースでは、メソッドが呼び出されたときに通知を受け取るかどうかにかかわらず、コードはメソッドを呼び出しています。通知を購読しても、動作や動作の変更は発生しません。実際には、遅れた加入者は、加入前に行われた呼出しを「見逃す」でしょう。

関連する問題