执行一个功能时,所有异步HTTP请求完成 [英] Execute a function when all Async Http Requests are finished
本文介绍了执行一个功能时,所有异步HTTP请求完成的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
让我们说我们有两个HTTP异步调用,任务1和Task 2,我希望在同一时间执行他们两个。而一旦双方完成后,我想触发功能。
Let's say we have two HTTP Async Calls, Task 1 and Task 2. And I want to execute both of them in the same time. and once both are finished, I want to trigger a function.
由于我们不知道哪个任务将首先完成呢,我们怎么能知道,任务完成和触发功能?
Since we don't know which task will be finished first, how can we know that the tasks are finished and trigger the function?
推荐答案
步骤1:创建界面TaskComplete,
Step-1 : Create interface TaskComplete ,
public interface TaskComplete {
public void TaskDone(String asyncClassName);
}
步骤2:类创建它的对象,你在呼唤异步任务
Step-2 : Create object of it in class where you are calling async task.
TaskComplete taskComplete = new TaskComplete() {
boolean firstDone = false;
boolean secondDone = false;
@Override
public void TaskDone(String asyncClassName) {
// TODO Auto-generated method stub
if(asyncClassName.equals("FIRST_ASYNC")) {
firstDone = true;
} else if(asyncClassName.equals("SECOND_ASYNC")) {
secondDone = true;
}
if(firstDone == true && secondDone == true) {
// Both async completed - do your work
}
}
};
步骤3:从异步类的各自onPostExecute方法调用这些
Step-3 : Call these from respective onPostExecute method of async class.
taskComplete.TaskDone("FIRST_ASYNC");
taskComplete.TaskDone("SECOND_ASYNC");
这篇关于执行一个功能时,所有异步HTTP请求完成的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文