【发布时间】:2020-08-01 07:02:48
【问题描述】:
我有 2 个异步任务:
- 我正在获取用户的位置;
- 我正在使用 Retrofit 从我的 API 获取事件列表;
我的问题:只有在两种方法都获得成功的结果后,如何设置操作? 谢谢。
【问题讨论】:
-
请在您的问题中也发布您的代码
标签: java android asynchronous android-asynctask
我有 2 个异步任务:
我的问题:只有在两种方法都获得成功的结果后,如何设置操作? 谢谢。
【问题讨论】:
标签: java android asynchronous android-asynctask
1) 制作 2 个异步任务。
2) 在第一个异步任务中获取doInBackground() 中的用户位置,然后在onPostExecute() 中启动第二个异步任务。
3) 在第二个 asynctask 中从doInBackground() 中的 api 获取事件。
4) 然后在第二个异步任务的onPostExecute() 中,您可以做任何您想做的事情(因为两个任务都已完成)。
here 他们说 asyncTask 已被弃用,所以要小心。
【讨论】:
不建议使用 AsyncTask,因为根据 the official documentation,它现在已被弃用。
我建议你使用 Coroutines 来使用你的 API,它比 AsnycTask 更简单而且你会写更少的代码。
查看协程的官方文档。 另外,请查看enter link description here,这将满足您的需求。
如果您仍在使用 Java,您可以使用 RXjava2 进行异步网络调用。检查this article 也可以满足您的需求。
【讨论】: