GWT面板在慢速互联网上记录数据刷新延迟

时间:2014-08-27 10:44:32

标签: gwt asynchronous gwt-rpc

我正在使用GWT 2.5.1。

在我的GWT Web应用程序中,我有一个ComplexPanel对象,其中包含一组字段(小部件)。有一个建议的字段(在面板上),让我有机会找到它的对象和信息。字段(其中10-15个)包含有关该对象的信息。

问题是当用户(客户端)的Internet连接速度较慢时,表单上的字段会更新延迟。如果在延迟时刻,用户点击“保存”。按钮(AsyncCallback),旧数据(未更新)发布到服务器。

工作原理: 1.服务器从表单接收回调并开始处理数据。 2.服务器使用新数据刷新所有字段并结束工作。 3. Javascript使用大约10个请求更新表单上的数据。 但是:互联网很慢,一部分数据刷新,其他没有。 4.用户单击SAVE并将混合数据发送到服务器。

我需要知道(从服务器端)何时在客户端刷新所有字段,服务器可以继续下一个发布请求。

感谢任何建议。

1 个答案:

答案 0 :(得分:0)

单击“保存”按钮执行验证检查。根据您的要求,您可以做几件事。我列出了一种验证方法。

  1. 在进行异步调用之前设置一个标志 false 。例如,isLoaded = false
  2. 完成所有字段后,只需将其更新为true,即isLoaded = true
  3. 在保存按钮处理程序中检查isLoaded标志。如果 false ,则提示消息,否则保存。
  4. <强>更新

    您可以计算收到的回复数量。你知道你会得到10个回复。因此,对于收到的每个响应都增加一个计仅在收到所有10个响应后才激活保存。

    要获得干净的方法,请使用gwt-async-future