【发布时间】:2012-12-10 11:18:50
【问题描述】:
我在 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 调用在单独的线程/进程中执行,您需要相应地等待。你能放更多代码/让它更清楚吗?
-
for 循环中没有返回语句。在for循环完成之前如何返回?
-
我正在使用异步调用,因此for循环在rpc调用或完成之前完成