【问题标题】:Asynchronous synchronisation异步同步
【发布时间】:2020-08-01 07:02:48
【问题描述】:

我有 2 个异步任务:

  1. 我正在获取用户的位置;
  2. 我正在使用 Retrofit 从我的 API 获取事件列表;

我的问题:只有在两种方法都获得成功的结果后,如何设置操作? 谢谢。

【问题讨论】:

  • 请在您的问题中也发布您的代码

标签: java android asynchronous android-asynctask


【解决方案1】:

1) 制作 2 个异步任务。

2) 在第一个异步任务中获取doInBackground() 中的用户位置,然后在onPostExecute() 中启动第二个异步任务。

3) 在第二个 asynctask 中从doInBackground() 中的 api 获取事件。

4) 然后在第二个异步任务的onPostExecute() 中,您可以做任何您想做的事情(因为两个任务都已完成)。

here 他们说 asyncTask 已被弃用,所以要小心。

【讨论】:

    【解决方案2】:

    不建议使用 AsyncTask,因为根据 the official documentation,它现在已被弃用。

    我建议你使用 Coroutines 来使用你的 API,它比 AsnycTask 更简单而且你会写更少的代码。

    查看协程的官方文档。 另外,请查看enter link description here,这将满足您的需求。

    如果您仍在使用 Java,您可以使用 RXjava2 进行异步网络调用。检查this article 也可以满足您的需求。

    【讨论】:

      猜你喜欢
      • 2013-05-11
      • 2021-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-11
      • 2014-04-02
      • 2019-06-14
      相关资源
      最近更新 更多