gpt4 book ai didi

java - 如何避免链接多个 AsyncTask 调用?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:26:22 24 4
gpt4 key购买 nike

我必须多次调用 Web 服务,但每一步都使用上一步的值,所以现在我有一个巨大的 AsyncTask 链:每个 AsyncTask 都在前一步。这非常非常难看,而且很难修改。我怎样才能避免这种情况?我想将每个步骤放在一个单独的函数中:

int step5() //this function is on the main UI thread
{
return getStep5ValuesFromWebService() + valuesFromPreviousSteps;
}

int getStep5ValuesFromWebService()
{
//do work on new thread
//GetValueFromService(); <-- this is the function that returns an int from the web service, but it has to be called from another thread
}

如何调用 GetValueFromService() 以便 step5() 函数返回在 GetValueFromService() 函数中计算的值?

最佳答案

你能不能做:

private class MyAsync extends AsyncTask<String, Integer, Long> {

protected Long doInBackground(String... symbols) {
step1();
step2();
step3();
step4();
step5();
}

private void step1(){}
private void step2(){}
private void step3(){}
private void step4(){}
private void step5(){}

protected void onProgressUpdate(Integer... progress) {
}

protected void onPostExecute(Long result) {
}
}

关于java - 如何避免链接多个 AsyncTask 调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22303215/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com