【问题标题】:Render view while processing data处理数据时渲染视图
【发布时间】: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


【解决方案1】:

就像我在 cmets 中所说,我没有找到使用 Play 的解决方案。

我所做的是渲染视图,并在视图本身中调用 javascript/jquery 中的ajax 请愿书以获取慢速数据。

希望这能有所帮助,这是我唯一喜欢的解决方案。

【讨论】:

    猜你喜欢
    • 2017-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-02
    • 2020-12-18
    • 1970-01-01
    相关资源
    最近更新 更多