如果我要从一个函数(全部用 Java 编写)调用:
public int hello() {
int a = 1;
executeCallback();
// C: Question lies in this range
return a;
}
public void executeCallback() {
// A: random code to execute before asynccallback
randomClass.randomMethod(int a, int b, AsyncCallback<ReturnType>() {
onSuccess();
onFailure();
});
// B: random code to execute after asynccallback
}
我知道注释 A 中的内容将执行,同时非同步 randomMethod 将执行,B 中的注释将执行。
不过,我想知道,当 randomMethod 正在执行时(如果它需要足够长的时间),该函数是否会返回到它的调用者(在本例中是方法“hello”)并开始执行注释 C 中的代码?还是 executeCallback 会等待 randomMethod 完成后再返回?
如果是前者,假设我需要在我可以继续评论 C 之前触摸 randomMethod 所触及的信息,我怎样才能让它“等待”以确保会是这种情况?