複数の非同期コールバック関数がJavaで終了するのを待ってから続行する最善の方法は何ですか? 具体的には AsyncCallback で GWT を使用していますが、これは一般的な問題だと思います。これが私が今持っているものですが、確かにもっときれいな方法があります...
AjaxLoader.loadApi("books", "0", new Runnable(){
public void run() {
bookAPIAvailable = true;
ready();
}}, null);
AjaxLoader.loadApi("search", "1", new Runnable(){
public void run() {
searchAPIAvailable = true;
ready();
}}, null);
loginService.login(GWT.getHostPageBaseURL(), new AsyncCallback<LoginInfo>() {
public void onSuccess(LoginInfo result) {
appLoaded = true;
ready();
}
});
private void ready() {
if(bookAPIAvailable && searchAPIAvailable && appLoaded) {
// Everything loaded
}
}