2017-10-06 7 views
-1

J'essaye de faire une fonction execute qui jette des exceptions.Observable.fromCallable() implémentation avec exception

Observable.fromCallable { foo() } 
      .subscribeOn(Schedulers.io()) 
      .observeOn(AndroidSchedulers.mainThread()) 
      .take(1) 
      .onErrorReturn { /* onError operation */ } 
      .subscribe { } 

et je veux faire une autre opération si elle réussit sans aucune erreur. Comment puis je faire ça?

Répondre

1

Je veux faire une autre opération si elle réussit sans erreur

Tous ces opérateurs seraient appliqués à votre flux, à moins qu'une exception est arrivé, ce qui signifie que vous ne devez pas se soucier de "si elle réussit" cas, vous devriez seulement prendre soin de "si c'est le cas pas réussir" cas.

Si, pour une raison quelconque, une erreur s'est produite, alors seulement onErrorReturn() sera appliqué.

+0

ok donc je fais juste ce 'Observable.fromCallable {foo()} .subscribeOn (Schedulers.io()) .observeOn (AndroidSchedulers.mainThread()) .take (1) .subscribe ({//succès}, {// échoue}) ' – Sagar