2016-11-11 68 views
1

我的步驟是:rxJava:作曲與單和completable返回單

  1. 創建一個單一值x - 可能是有點CPU密集型
  2. 使用值x進行IO操作。這已經返回Completable
  3. 返回X

,所以我想做某事像這樣:

Single<Integer> result = 
      Single.fromCallable(() -> generate_x) 
       .COMPOSE_WITH_COMPLETABLE(x -> method_that_returns_completable(x)) 
       .map(x -> x + 1) // i still need x here 

如何實現的呢?

回答

3
single.flatMap(new Func1<Integer, Single<? extends Integer>>() { 
     @Override 
     public Single<? extends Integer> call(final Integer integer) { 
      return completable.toSingle(new Func0<Integer>() { 
       @Override 
       public Integer call() { 
        return integer; 
       } 
      }); 
     } 
    })