我在一个列表上有一个 for 循环:
boolean initialized = false
for(final Share share : shares) {
someInstance.check(new someCallback() {
@Override
public void onSuccess() {
// do something
}
});
}
initialized = true;
在每个步骤中,都会执行一个称为 check() 的异步操作。我想在所有 check() 操作完成后设置 initialized = true 。 有什么方法可以在 Java/GWT 中做到这一点?
我如何知道 For 循环中的所有异步操作何时完成?
最佳答案
每次 onSuccess
被调用时,只需增加一些共享计数器来计算完成的次数。您知道您已经启动了多少个(比如 N),所以一旦 finished counter
达到相同的值 (N),您就知道它们都已完成。然后最后一个完成的将设置 initialized = true
。
关于java - 我如何知道 For 循环中的所有异步操作何时完成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27180309/