rxJava:使用completable和return single组成单个

时间:2016-11-11 16:23:23

标签: java rx-java reactive-programming

我的步骤是:

  1. 创建单个值x - 可能是一个小cpu密集型
  2. 使用值x执行IO操作。这已经返回Completable
  3. return x
  4. 所以我想这样做:

    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
    

    如何实现它?

1 个答案:

答案 0 :(得分: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;
                }
            });
        }
    })