GWT使RPC阻塞

是否有可能使gwt rpc阻塞? 即应用程序阻塞,直到从服务器收到响应

据我所知,没有gwt rpc阻塞,因为它与异步回调相反。

但是你可以使用这两种方法

  1. 计时器。 计数计时器并检查是否有任何非空的返回对象并停止并取消计时器并继续工作。 如果计时器处于活动状态,则不做其他工作。 这是非常低效的方式。 缺乏OO设计模式和太多if-else-if语句
  2. 调用Rpc并在onSuccess()方法中执行所有操作。 它保证您的方法完成并成功完成,然后继续其他方法。

我的建议是第二个(onSuccess)。 我想再次提到阻塞绝不是一个好主意

好吧,同步rpc调用被GWT设计者称为邪恶。 他们确实拥有非常强大的论据……但你可以通过黑客攻击同步rpc ……这就是其中之一, http://code.google.com/p/google-web-toolkit/issues/detail? id = 4898

我想到的最简单的解决方案是从异步调用开始直到填充完成时“阻止”你的应用程序,这将在onSuccess()方法的末尾。

通过阻止我的意思是在页面中间显示一些动画加载gif 。