“无法在Play 2.1.2中使用将play.libs.F.Promise [play.mvc.Result]作为Handler返回的方法

时间:2013-08-05 09:24:42

标签: playframework playframework-2.0

我正在使用Play框架2.1.2,我有一个handlere方法返回一个Promise,如Play 2.1.2 documentation

中所述

但Play抛出编译错误说:

  

无法使用返回play.libs.F.Promise [play.mvc.Result]作为处理程序的方法

我错过了一些让它起作用的东西吗?

1 个答案:

答案 0 :(得分:3)

你必须承诺async()方法来做到这一点。

Promise<Result> futureResult = ...
return async(futureResult);

此方法返回AsyncResult - 当Play被赋予AsyncResult时,它等待(非阻塞)计算结果,然后发送它。

阅读JavaAsync了解更多详情(尤其是AsyncResult部分。)