rxJavaでのdoOnSuccessとonSuccessのユースケースは何ですか

HoangVu

rxJavaでのdoOnSuccessのユースケースについて混乱しています。
コードを見てみましょう:

ケース1:

networkApi.callSomething()
    .subscribeOn(Schedulers.io())
    .observeOn(AndroidSchedulers.mainThread())               
    .doOnSuccess(__ -> showLog(SUCCESS))
    .doOnError(__ -> showLog(ERROR))
    .subscribeBy(
             onSuccess = {//Do something}, 
             onError = {//Show log here}
          )

ケース2:

networkApi.callSomething()
    .subscribeOn(Schedulers.io())
    .observeOn(AndroidSchedulers.mainThread())               
    .subscribeBy(
             onSuccess = {
               //Do something
               showLog(SUCCESS)
             }, 
             onError = {showLog(ERROR)}
          )

いつものように、ケース2は問題ないと思います。
また、githubでいくつかのソースコードを参照しましたが、ケース1が好きな人もいます。ここでの
ユースケースは何doOnSuccessですか?

適用doOnSuccess()演算子が必要なユースケースはありますか?

akarnokd

SinglesとMaybesには成功シグナルがあり、ハンドラーにはonSuccess呼び出されメソッドがあります。ただし、多くの場合、フローのさまざまなポイントで成功シグナルを副作用として処理し、doOnSuccessオペレーターが存在するようにします。

getUserAsSingle()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.doOnSuccess(user -> ui.showUser(user))
.flatMap(user -> 
     getUserFavoritesAsSingle(user)
     .subscribeOn(Schedulers.io())
)
.observeOn(AndroidSchedulers.mainThread())
.doOnSuccess(userFavs -> ui.showUserFavorites(userFavs))
.flatMap(userFavs -> 
     updateLoginCounter(userFavs.userId)
     .subscribeOn(Schedulers.io())
)
.observeOn(AndroidSchedulers.mainThread())
subscribe(newCounter -> ui.showLoginCount(newCounter),
    error -> ui.showError(error));

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

StreamsとFirehoseのユースケースは何ですか?

分類Dev

bashでのnoop [:]のユースケースは何ですか?

分類Dev

拡張ユースケースと親ユースケースの違いは何ですか?

分類Dev

宣言マージのユースケースは何ですか?

分類Dev

joblibとpickleの異なるユースケースは何ですか?

分類Dev

add1とsub1のユースケースは何ですか?

分類Dev

ユースケース図とUML図の違いは何ですか?

分類Dev

状態遷移図とユースケースの違いは何ですか

分類Dev

Guice Mapbinderの良いユースケースは何ですか?

分類Dev

Java AtomicReference#getAndSetのユースケースは何ですか?

分類Dev

scala.concurrent.Promiseのユースケースは何ですか?

分類Dev

「gitbranch-d」のユースケースは何ですか

分類Dev

便利な初期化子のユースケースは何ですか?

分類Dev

Java Beansの良いユースケースは何ですか?

分類Dev

ContextCompat.checkSelfPermissionのユースケースは何ですか?

分類Dev

Promise.resolve(promise)のユースケースは何ですか?

分類Dev

AttachedToParentのユースケースは何ですか?

分類Dev

kubernetesジョブのユースケースは何ですか?

分類Dev

EPOLLETのユースケースは何ですか?

分類Dev

pipenvのユースケースは何ですか?

分類Dev

`dplyr :: select`のユースケースは何ですか?

分類Dev

JS:Promise.resolve()のユースケースは何ですか

分類Dev

ons.ready()のユースケースは何ですか?

分類Dev

Firebase Queue のユースケースは何ですか?

分類Dev

スパースVkDescriptorSetLayoutBindingのユースケースは何ですか?

分類Dev

画像と音声の認識とは別に、Tensorflowの実際のユースケースは何ですか?

分類Dev

Clojureでの* compile-files *のユースケースは何ですか?

分類Dev

ES6でのvarのユースケースは何ですか?

分類Dev

Akka での PersistentView の典型的なユースケースは何ですか?

Related 関連記事

  1. 1

    StreamsとFirehoseのユースケースは何ですか?

  2. 2

    bashでのnoop [:]のユースケースは何ですか?

  3. 3

    拡張ユースケースと親ユースケースの違いは何ですか?

  4. 4

    宣言マージのユースケースは何ですか?

  5. 5

    joblibとpickleの異なるユースケースは何ですか?

  6. 6

    add1とsub1のユースケースは何ですか?

  7. 7

    ユースケース図とUML図の違いは何ですか?

  8. 8

    状態遷移図とユースケースの違いは何ですか

  9. 9

    Guice Mapbinderの良いユースケースは何ですか?

  10. 10

    Java AtomicReference#getAndSetのユースケースは何ですか?

  11. 11

    scala.concurrent.Promiseのユースケースは何ですか?

  12. 12

    「gitbranch-d」のユースケースは何ですか

  13. 13

    便利な初期化子のユースケースは何ですか?

  14. 14

    Java Beansの良いユースケースは何ですか?

  15. 15

    ContextCompat.checkSelfPermissionのユースケースは何ですか?

  16. 16

    Promise.resolve(promise)のユースケースは何ですか?

  17. 17

    AttachedToParentのユースケースは何ですか?

  18. 18

    kubernetesジョブのユースケースは何ですか?

  19. 19

    EPOLLETのユースケースは何ですか?

  20. 20

    pipenvのユースケースは何ですか?

  21. 21

    `dplyr :: select`のユースケースは何ですか?

  22. 22

    JS:Promise.resolve()のユースケースは何ですか

  23. 23

    ons.ready()のユースケースは何ですか?

  24. 24

    Firebase Queue のユースケースは何ですか?

  25. 25

    スパースVkDescriptorSetLayoutBindingのユースケースは何ですか?

  26. 26

    画像と音声の認識とは別に、Tensorflowの実際のユースケースは何ですか?

  27. 27

    Clojureでの* compile-files *のユースケースは何ですか?

  28. 28

    ES6でのvarのユースケースは何ですか?

  29. 29

    Akka での PersistentView の典型的なユースケースは何ですか?

ホットタグ

アーカイブ