有些事情我听不懂。我的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调用在第二轮代码执行中执行。
请解释一下为什么会发生。
最佳答案
这就是asyncronous means
的确切含义,您永远不知道server
何时将结果返回给client
,并且意味着流程继续进行。这就是为什么人们通常在onSuccess()
中编写代码,因此无法正常执行流程的原因直到请求完成。
明确的执行方式,并且RPC Plumbing Diagram
有文档。
Please have a look.
关于java - GWT。 RPC调用顺序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18633306/