2016-09-02 4 views
2

私はRetrofitでURLを呼び出していますが、結果は気にしません。 onNextメソッドを無視する方法はありますか?RxJavaはonNextを無視します

現在、私が使用している:t -> {}は何もしない、あなたが見ることができるように

getRetrofit().create(UserAPI.class) 
     .doSomething(a, b) 
     .subscribeOn(Schedulers.newThread()) 
     .subscribe(t -> {}, Handler::handlerError); 

を、私は好きなことを減らしたい:

getRetrofit().create(UserAPI.class) 
      .doSomething(a, b) 
      .subscribeOn(Schedulers.newThread()) 
      .subscribe(null, Handler::handlerError); 

が、エラーに

java.lang.IllegalArgumentException: onNext can not be null 
を取得

答えて

4

Observableの代わりに012からCompletableを返すことができますインターフェイス。それはまさにあなたと同じ目的を果たします。

0

エラーハンドリングが必要な場合は、オブザーバブルに登録するときにonNext()の実装を避ける方法はないと思います。あるいは、Observerを作成してsubscribeコールで再利用できますが、依然としてonNext()の動作を実装する必要があります。

例:

Observer errorObserver = Observers.create(t -> {}, Handler::handleError); 

getRetrofit().create(UserAPI.class) 
      .doSomething(a, b) 
      .subscribeOn(Schedulers.newThread()) 
      .subscribe(errorObserver); 
関連する問題