【发布时间】:2017-05-18 19:31:52
【问题描述】:
我正在使用 Play Framework 2.5.14,带有 play for java。
我有一个加载和处理一些数据的服务,处理这些数据需要很长时间。
我是这样做的:
Controller
public Result showData() {
List<Data> data = service.getProcessedData();
return ok(views.html.data.render(data));
}
View
@(data: List[Data])
<!-- html code -->
但是当我转到该页面时,它很长一段时间都是空白的,因为service.getProcessData() 花费的时间太长了。当函数完成后,视图就会被渲染。
我需要加载视图并在数据准备好后填充视图。
【问题讨论】:
-
服务可以使用 Akka Streams 来处理数据吗?我的意思是,与其等待所有数据准备好渲染,不如在部分数据准备好后立即渲染。
-
我不可能在这个过程中使用 Akka。我曾想过是否可以在此使用Future、
CompletableFuture等,但我不知道如何使用Result和视图来实现它。 -
如果您使用 Akka Streams,您可以使用流式或分块结果。
-
我不能使用 Akka Streams... 我想添加一个路由,我可以在其中检索处理过的数据并在视图本身上获取它。
-
您找到解决方案了吗?我有一个类似的问题。如果你这样做了,你能不能发点东西来帮助我们挣扎:)
标签: java playframework playframework-2.5