0
我的英語不是最好的,所以我提前爲此道歉。方法執行取決於異步方法的響應
我的情況下面,我正在開發一個Android應用程序,我有一個異步任務,並在doInBackground方法有以下代碼:
@Override
protected Boolean doInBackground(String... params) {
getFirebaseUserChannels(new ResultListener<List<Channel>>() {
@Override
public void finish(List<Channel> firebaseUserChannels) {
if (firebaseUserChannels.isEmpty()) {
getFirebaseChannels(new ResultListener<List<Canal>>() {
@Override
public void finish(List<Channel> firebaseChannels) {
saveChannelsSQLDatabase(firebaseChannels);
saveChannelsFirebaseDatabase(firebaseChannels);
}
});
} else {
saveChannelsSQLDatabase(canalesUsuarioFB);
}
}
});
return true;
}
因此,該方法「getFirebaseUserChannels 「」是一個異步方法,在響應拋出列表,並且當該列表準備好使用它時,我必須評估它並使用它。 但是,如你所知,java執行異步方法並繼續,直到返回。
我希望「doInBackground」不會繼續執行,直到所有的異步方法執行結束。
那麼,我該怎麼做?處理這種情況的最好方法是什麼?