【发布时间】:2018-03-14 22:52:25
【问题描述】:
我正在尝试转换如下所示的阻塞 Play 框架控制器操作:
public Result testSync(String param1, String param2) {
String result1 = <LONG-DB-QUERY>;
if (result1 == null) {
return internalServerError();
}
if (result1.equals("<SOME VALUE>")) {
return ok(param1);
}
String result2 = <LONG-DB-QUERY>;
return ok(result1 + result2);
}
使用Future接口进入非阻塞代码,即返回一个CompletionStage<Result>
如您所见,我需要result1 和result2。我假设我不能使用supplyAsync 和thenCombine,因为result2 只有在某些情况下才需要计算。
【问题讨论】:
-
为什么不把整个东西包装成
supplyAsync()?
标签: java-8 playframework-2.0 nonblocking completable-future completion-stage