-1

我在 for 循环中有一个 rpc 调用来接收元素列表。我遇到的问题是在 for 循环完成之前调用了该方法的 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;
}
4

1 回答 1

2

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

于 2012-12-10T11:33:50.003 回答