2016-06-20 9 views
1

私はflatMap(擬似コード)からの出力を印刷する方法を書いた:私はこれらのコードを実行すると、それは数秒で動作しますが、数秒後にRxjavaなぜonNextメソッドを実行しませんでした

Observable.just(...).repeat() 
    .flatMap(return Observable.just([double])) 
    .subscribeOn(Schedulers.io()) 
    .observeOn(AndroidSchedulers.mainThread()) 
    .subscribe(new Subscriber<Double>() { 
     @Override 
     public void onCompleted() { 

     } 

     @Override 
     public void onError(Throwable e) { 
      tvConfidence.setText(e.getMessage()); 
     } 

     @Override 
     public void onNext(Double aDouble) { 
      tvConfidence.setText("Confidence :" + aDouble); 
     } 
    }); 

、再びonNextメソッドには実行されません。なぜ私はコードをデバッグするので、それはObservable.just(double)を実行し、値は常に変更されますが、コードsetTextを実行してtextViewをリフレッシュすることはできません。

答えて

1

私の推測では、その特定のflatMapオーバーロードのために、が多数蓄積されることになります。flatMapは無制限です。同時実行レベルを制限するには、flatMap(f, 1)を試してください。

+0

ありがとう!私は、マップするflatMapを変更し、それは動作します。私はこの場合はflatMapを使用すべきではないかもしれません。 – Even2015

関連する問題