GWT。 RPC调用的顺序

时间:2013-09-05 10:00:29

标签: java gwt rpc

我无法理解。我的GWT代码中有几个RPC调用,如:

private final PravformServiceAsync getPravformService = GWT.create(PravformService.class);
getService.getSome(new AsyncCallback<List<Pravform>>() {
  public void onFailure(Throwable caught) { 
  }     
  public void onSuccess(List<Pravform> result) {
    pravformList = result;
  }
});

必须在程序启动时执行。但是在调试器的帮助下,我发现这些调用中的代码当时没有执行。它在执行onModuleLoad()过程结束时执行,在所有其他代码之后执行。看起来我的RPC调用在第二个代码循环上执行。

请解释一下为什么会这样。

2 个答案:

答案 0 :(得分:1)

这正是asyncronous means,你永远不会知道server何时将结果返回给client,并且当流程继续时就意味着。这就是人们通常在{{{ 1}},以便在请求完成之前停止执行流程。

明确执行,onSuccess()是文档。

Please have a look.

答案 1 :(得分:0)

接口名称中的 Async 代表异步。您必须使这些接口进行回调而不是使用仅返回值的同步接口。这个原因是它们是同步的,又名非阻塞