2

我正在使用 Play 框架 2.1.2,我有一个返回 Promise 的处理方法,如 Play 的 2.1.2文档中所述

但是 Play 抛出编译错误说:

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

我是否缺少使它起作用的东西?

4

1 回答 1

3

你必须对async()方法做出承诺才能做到这一点。

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

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

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

于 2013-08-05T09:53:02.533 回答