当谈到 GWT 中的同步调用和异步调用时,我有点困惑。
我确信 GWT 会进行异步调用。
我很清楚 Synchronous 只是在等待响应,在得到响应后,执行下一个命令。
它不是在异步的情况下,因为它从不等待响应。在得到响应之前,它会立即执行下一个命令。
但是我可以在一些博客中看到说 RPC 是同步的......而使用 RPC 的 GWT 不是同步的。我明白,每当我发送请求时,它都不会等待。
- RPC真的是同步的吗?
- 如果是这样,GWT 如何制作异步 RPC?
还是我误解了什么?
当谈到 GWT 中的同步调用和异步调用时,我有点困惑。
我确信 GWT 会进行异步调用。
我很清楚 Synchronous 只是在等待响应,在得到响应后,执行下一个命令。
它不是在异步的情况下,因为它从不等待响应。在得到响应之前,它会立即执行下一个命令。
但是我可以在一些博客中看到说 RPC 是同步的......而使用 RPC 的 GWT 不是同步的。我明白,每当我发送请求时,它都不会等待。
还是我误解了什么?
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
,无论结果是否返回。
有关详细信息,请参阅开发指南服务器通信