在涉及同步调用和GWT中的异步调用时,我有点困惑。
我确信GWT会进行异步调用。
我很清楚,Synchronous只是在等待响应,在得到响应之后,执行下一个命令。
它不是Asynchronous的情况,因为它永远不会等待响应。在得到响应之前,它立即执行下一个命令。
但我可以在一些博客中看到说RPC是同步的...... 而使用RPC的GWT不是同步的。我明白,每当我发送请求时,它都不会等待。
还是我误解了什么?
答案 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