2017-07-31 28 views
0

说我有一个像下面的情况:如果我在CompletableFuture上使用thenCompose并指定它,我是否有2个CompletableFutures?

CompletableFuture<Object1> f1 = Class1.doSomething(); 
CompletableFuture<Object2> f2 = Class2.doSomethingElse(f1); 
boolean b = doAnotherThing(f2); 

凡Class2中使用thenCompose(),并返回一个不同的对象类型

CompletableFuture<Object2> doSomethingElse(CompletableFuture<Object1> f) { 
return f.thenCompose(s -> {...}); 

难道我那么有2个期货?我需要做什么:

CompletableFuture.allOf(f1, f2); 

这项任务如何影响未来?

+0

c2从哪里来? – efekctive

+0

@efekctive对不起,我简化了它,只是表示Class2。 – Tim

回答

1

你有两个不同的completable期货。将使用doSomethingObject1结果完成f1f2将以doSomethingElse中的匿名函数的结果Object2完成。但是,由于f2取决于f1的结果,您只需等待完成f2即可知道这两项任务都已完成。

相关问题