将RxJava Single转换为Java CompletableFuture

时间:2019-11-15 14:29:51

标签: java rx-java2

我有一个RxJava2 Integer Single,如何将其转换为java.util.concurrent.CompletableFuture?

Single<Integer> single = Single.just(1);
java.util.concurrent.CompletableFuture<Integer> cf = ???

2 个答案:

答案 0 :(得分:2)

您可以使用RxJavaJdk8Interop

CompletionStage<Integer> cs = Single.just(1)
.delay(1, TimeUnit.SECONDS)
.to(SingleInterop.get());

答案 1 :(得分:0)

那是可以做到的:

Single<Integer> just = Single.just(1);
CompletableFuture<Integer> cf = new CompletableFuture<>();
just.subscribe(cf::complete);