我正在尝试转换如下所示的阻塞 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
只在某些情况下才需要计算。