2013-01-13 40 views
0

作为解决“流媒体内容”的Play文档Chunks are introduced。我不确定是否流媒体内容可以慢慢产生,而不会阻塞HTTP线程,或者如果我必须分别通过改变使转换大块到AsyncResult(sc被声明为Chunks):分块是否包含异步执行?如何异步流式传输块?

return ok(sc); 

到:

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

使用第二种解决方案时,块不会在浏览器中增量显示,我希望他们这样做。提前致谢。

回答

1

你只需要你的包裹导致async如果您计算在Promise(2.1 Future)发生,例如当使用阿卡演员。结果类型是AsyncResult

由于Chunks(在play.mvc.Results.java定义)在内部使用的Enumerator是推动回调的内容到一个Iteratee,它应该是非阻塞的。

enter image description here