-1

要素のリストを受け取るために 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;
}
4

1 に答える 1

2

CountDownLatchを使用する必要があると思います 。カウンターを rpc 呼び出しの数に初期化できます。rpc 呼び出しの応答を取得する回数を減らし、countDownLatch.await() を使用して応答を待ちます。

于 2012-12-10T11:33:50.003 に答える