gpt4 book ai didi

java - Play Framework - 在 X 秒后进行处理/重定向时呈现 View

转载 作者:搜寻专家 更新时间:2023-10-31 20:32:17 25 4
gpt4 key购买 nike

注意:本人初玩框架

为了我的游戏!项目,我需要某种形式的异步编程。简单地说,我需要显示一个 View ,同时在后台进行处理,然后进行重定向或呈现新表单。

question被问到没有回应。我查看了 Play 文档页面,但没有找到任何解决方案。

我尝试过的:

我试图修改 play starter example 中提供的 AsynchController。然而,当导航到 http://localhost/message 时,该函数似乎更像是一个 sleep 而不是一个被设置和“忘记”的计划任务,即可以继续进一步编码.

AsynchController 片段: 有自己的修改

public CompletionStage<Result> message() {
return getFutureMessage(5, TimeUnit.SECONDS).thenApplyAsync(s -> ok(views.html.User.Account.verified.render()), exec);
}

private CompletionStage<String> getFutureMessage(long time, TimeUnit timeUnit) {
CompletableFuture<String> future = new CompletableFuture<>();
actorSystem.scheduler().scheduleOnce(
Duration.create(time, timeUnit),
() -> future.complete("Waiting 5 seconds..."),
exec
);
return future;
}

路线入口

GET     /message                 controllers.AsyncController.message

目的:

我的目标是显示消息 Waiting 5 seconds...,然后延迟 +/- 5s。此后它将到达“ future ”(这是正确的吗?),由此它将呈现一个 View (或重定向到 Controller ),在本例中为 verified 页面(用于帐户已验证)。

我的最初目标是否在正确的轨道上,我在哪里可以找到类似的好例子?

最佳答案

我有一个简单的解决方案,但你必须在路由中设置 2 个条目。

第一个条目显示消息“等待 5 秒...”,同时它向第二个条目发出 AJAX 调用。第二个条目的 Controller 进行计算/hibernate 5 秒,并返回所需的内容,该内容将由 Javascript 呈现在第一页上。

在第一个网页中,您可以放置​​如下内容:

  axios.get(second-url)
.then(function (response) {
document.getElementById(someplaceholder).innerHTML=response.data.
})

关于java - Play Framework - 在 X 秒后进行处理/重定向时呈现 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45153335/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com