在GWT中,RPC调用是同步或异步

时间:2013-09-27 11:15:28

标签: java gwt asynchronous

在涉及同步调用和GWT中的异步调用时,我有点困惑。

我确信GWT会进行异步调用。

我很清楚,Synchronous只是在等待响应,在得到响应之后,执行下一个命令。

它不是Asynchronous的情况,因为它永远不会等待响应。在得到响应之前,它立即执行下一个命令。

但我可以在一些博客中看到说RPC是同步的...... 而使用RPC的GWT不是同步的。我明白,每当我发送请求时,它都不会等待。

  1. RPC真的是同步吗?
  2. 如果是这样,GWT如何制作异步RPC?
  3. 还是我误解了什么?

1 个答案:

答案 0 :(得分:4)

GWT RPC(远程过程调用)肯定是Asnyc。实际上,所有基于AJAX的实现都是Asnyc。 我们来看看下面的例子:

emailService.emptyMyInbox(fUsername, fPassword, new AsyncCallback() {
    public void onSuccess(Void result) {
      // do some UI stuff to show success
    }

    public void onFailure(Throwable caught) {
      // do some UI stuff to show failure
    }
};
// do something more

我们在第一行调用服务,在执行后,浏览器将执行行// do something more,无论结果是否返回。

有关详细信息,请参阅Dev Guide Server Communication