私が観察可能なものを購読したときに通知を受ける必要があります。私はまた、私の観察可能性がエラーを起こしたか完了したという通知を受ける必要があります。だから私は、私はdoOnSubscribe
を実装する必要があります考えた:doOnTerminateとdoOnUnsubscribeのどちらを使用するのですか?
観察者が 観察可能
とdoOnTerminate
に加入したときに実行するアクションを登録します。
たときに観察可能に実行するアクションを登録します完了しました 成功またはエラーあり
は、その後、私はdoOnUnsubscribe
を見た:
観察可能
からときオブザーバーの登録解除を実行するアクションを登録し、doOnSubscribe
/doOnUnsubscribe
の対称性が良いだろうと思いました。
doOnUnsubscribe
の前には、常にdoOnTerminate
が呼び出されますか?物事が「完了」していることを知りたいのであれば、それは本当に重要なのですか?
DoOnTerminalの定義は次のとおりです。 "OnCompletedまたはonErrorを呼び出すときにアクションを呼び出すように、Observableソースを変更します。" doOnUnsubscribeとはまったく異なります。もしあなたが購読を中止した熱心なオブザーバブルの購読をしていれば、doOnUnsubscribeコールが得られ、オブザーバブルは値を生成し続けます。 observableが 'done'(onComplete、onError)かどうかを通知する場合は、doOnTerminateを使用します。成功の完了を知りたければ、doOnCompletedを使用します。 –