0

在 Play 文档中,块被引入作为“流内容”的解决方案。我不确定是否可以在不阻塞 HTTP 线程的情况下缓慢生成流式内容,或者我是否必须通过更改(sc声明为Chunks)单独将块转换为 AsyncResult:

return ok(sc);

至:

return async(play.libs.Akka.future(new Callable<Result>() {
    @Override
    public Result call() throws Exception {
        return ok(sc);
    }
}));

使用第二种解决方案时,这些块不会逐渐出现在浏览器中,我希望它们这样做。提前致谢。

4

1 回答 1

1

async如果您的计算发生在PromiseFuture在 2.1 中)中,例如使用 Akka 演员时,您只需要包装您的结果。结果类型是 then AsyncResult

由于Chunks(defined in play.mvc.Results.java) 内部使用 anEnumerator将回调的内容推送到 an Iteratee,因此它应该是非阻塞的。

在此处输入图像描述

于 2013-01-13T18:14:23.883 回答