我正在使用 Play 框架 2.1.2,我有一个返回 Promise 的处理方法,如 Play 的 2.1.2文档中所述
但是 Play 抛出编译错误说:
不能使用返回 play.libs.F.Promise[play.mvc.Result] 作为处理程序的方法
我是否缺少使它起作用的东西?
我正在使用 Play 框架 2.1.2,我有一个返回 Promise 的处理方法,如 Play 的 2.1.2文档中所述
但是 Play 抛出编译错误说:
不能使用返回 play.libs.F.Promise[play.mvc.Result] 作为处理程序的方法
我是否缺少使它起作用的东西?
你必须对async()
方法做出承诺才能做到这一点。
Promise<Result> futureResult = ...
return async(futureResult);
此方法返回一个AsyncResult
– 当 Play 被赋予 AsyncResult 时,它会等待(非阻塞)计算结果,然后发送它。
阅读JavaAsync了解更多细节(尤其是AsyncResult
部分。)