for循环中的javarpc

for循环中的javarpc,java,loops,rpc,Java,Loops,Rpc,我在for循环中有一个rpc调用来接收元素列表。我遇到的问题是,在for循环完成之前调用了该方法的return语句。那么有没有可能强制return语句等待循环完成 public List<SOMETHING> getList() { List<SOMETHING> list = ...; for (A FEW REPETITIONS) { RPC-CALL() { public void onSuccess(

我在for循环中有一个rpc调用来接收元素列表。我遇到的问题是,在for循环完成之前调用了该方法的return语句。那么有没有可能强制return语句等待循环完成

public List<SOMETHING> getList() {
     List<SOMETHING> list = ...;
     for (A FEW REPETITIONS) {
          RPC-CALL() {
            public void onSuccess(List<SOMETHING> result) {
                 list.addAll(result);
            }
          }
     }

     return list;
}

我认为您需要使用,您可以将计数器初始化为您正在进行的rpc调用的数量。减少rpc调用获取回复的次数,并使用countDownLatch等待回复。等待

您使用的rpc机制是什么?这些是异步调用吗?如果rpc调用是在单独的线程/进程中执行的,则需要相应地等待。你能把代码写得更清楚些吗?for循环中没有return语句。它如何在for循环完成之前返回?我使用异步调用,因此for循环在rpc调用或finishedI使用javagwt之前完成,当我简单地创建一个新的CountDownLatch对象时,我得到了一个com.google.gwt.dev.jjs.InternalCompilerException:Failed to get JNode看起来gwt不支持客户端中的任何同步。在这种情况下,您可能需要避免从此方法返回值,而是让调用方提供某种actionListener类型的处理程序,您将使用所有处理的结果调用该处理程序。