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”不会继续执行,直到所有的异步方法执行结束。
那么,我该怎么做?处理这种情况的最好方法是什么?