Ich bin auf Play Framework 2.5.14, mit Play für Java.Render-Ansicht während der Verarbeitung von Daten
Ich habe einen Dienst, der einige Daten lädt und verarbeitet, und die Verarbeitung dieser Daten dauert sehr lange.
Ich mache es so:
Controller
public Result showData() {
List<Data> data = service.getProcessedData();
return ok(views.html.data.render(data));
}
View
@(data: List[Data])
<!-- html code -->
Aber wenn ich auf die Seite gehen, ist es in leere lange Zeit, weil service.getProcessData()
zu nimmt lange. Wenn die Funktion beendet ist, wird die Ansicht gerendert.
Was ich brauche ist, dass die Ansicht geladen wird und wenn die Daten bereit sind, füllen Sie die Ansicht.
Kann der Dienst Akka-Streams verwenden, um die Daten zu verarbeiten? Ich meine, anstatt darauf zu warten, dass alle Daten bereit zum Rendern sind, rendern, sobald ein Teil davon fertig ist. – marcospereira
Es ist unmöglich für mich, Akka für diesen Prozess zu verwenden. Ich hatte darüber nachgedacht, ob Future, 'ComplectableFuture' usw. in diesem Fall möglich sind, aber ich weiß nicht, wie ich es mit' Result' und der Ansicht implementieren soll. – rcanovas
Wenn Sie Akka-Streams verwenden, können Sie Streaming- oder Chunked-Ergebnisse verwenden. – marcospereira