我正在使用Play框架2.1.2,我有一个handlere方法返回一个Promise,如Play 2.1.2 documentation
中所述但Play抛出编译错误说:
无法使用返回play.libs.F.Promise [play.mvc.Result]作为处理程序的方法
我错过了一些让它起作用的东西吗?
答案 0 :(得分:3)
你必须承诺async()
方法来做到这一点。
Promise<Result> futureResult = ...
return async(futureResult);
此方法返回AsyncResult
- 当Play被赋予AsyncResult时,它等待(非阻塞)计算结果,然后发送它。
阅读JavaAsync了解更多详情(尤其是AsyncResult
部分。)