我正在调用返回 CompletableFuture 的服务。
输出结构如下。
Class Output {
public String name;
public Integer age;
}
我想打电话给服务,并想继续执行我的工作,直到名字出现。
就像是,
CompletableFuture<Output> futureOutput = makeServiceCall(input);
String name = futureOutput.get().name;
processName(name); // which will do some costly operations and make use of the name at the end.
在上述方法中,我需要等到我futureOutput
的准备好,即使我以后才需要它。
我寻找类似下面的方法。
CompletableFuture<Output> futureOutput = makeServiceCall(input);
CompletableFuture<String> futureName = futureOutput.get().name; // This is wrong, but can we create a reference in a similar way?
processName(futureName); // which will do some costly operations and make use of the name at the end.
processName
我可以将from的签名更改为String
toCompletableFuture<String>
但不更改CompletableFuture<Output>
为 asOutput
对该方法没有任何意义。
有哪些建议的方法来获得未来参考,这是另一个未来的领域。