繁体   English   中英

Spring DeferredResult进度栏

[英]Spring DeferredResult progress bar

我正在使用Spring deferredResult在客户端-服务器之间发出异步请求。 我知道使用此技术的原因恰好是将客户端服务器之间的请求保持为空闲状态,直到服务器完成工作为止。

但是我想知道服务器是否可以让客户知道多少时间才能完成工作。 我希望该信息在客户端提供进度条。

有什么建议吗?

问候。

我不这么认为,因为服务器的第一个响应将是异步调用请求的数据。 需要第二次异步调用才能返回一些数据,例如服务器的平均响应时间,但是即使那样,服务器仍无法确定服务器与客户端之间的延迟时间,服务器仅能够确定运行异步请求调用的过程花费了多长时间。 您可以设置一个超时,该超时将取消请求(或至少忽略响应),但这将在客户端进行。

我将deferredResult用于类似的功能。 在客户端编写一个javascript方法,该方法将自行调用一次。 例如

function updateDisplay(finished){
    if(!finished){
        $.ajax({
           url:"url to the function",
           success:function(){
              updateDisplay
              this.data: //status
           },
           complete:funtion (){
               updateDisplay(this.data);
           }
        }
    }
 }

通过这种方式,您可以将定期信息从服务器发送到客户端并更新状态。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM