玩:如何在工作之前和之后渲染

时间:2011-12-19 20:56:44

标签: java playframework jobs

我有一个Play应用程序在幕后编译一些代码,我想知道在作业开始之前首先呈现“请稍候...”消息的最佳策略是什么,然后一旦它发出“作业完成”消息完了。

这不是可以分块的东西,它要么已经完成了,所以我猜不使用websockets,唯一的方法就是用ajax进行轮询?

谢谢!

2 个答案:

答案 0 :(得分:3)

执行作业时(使用.now()),它返回一个Promise对象。使用此功能,您可以使用播放await功能和ajax(长轮询)或Web套接字。

所以,你会做以下的

  1. 显示请等待页面
  2. 进行执行作业的ajax调用,等待作业完成
  3. 当您的ajax返回时,您只需更新页面,无论是对div的javascript更新,还是重定向到新页面。

答案 1 :(得分:1)

听起来Ajax是一种很好的技术,但你不需要轮询。

发送Ajax请求并同时显示“Please wait ...”,然后当响应到达时,显示“job completed”。是的,您应该在“播放作业”中执行长时间运行的任务,因此您不会过长地阻止该线程。