所以我有三个 retrofit web requests
从 MainActivity 调用,每个调用都不会相互依赖。
假设第一个是 getImages()
,第二个是 getCountry()
,最后一个是 getUser()
但是有一个条件,在所有这些请求都成功执行之前,下一个 Activity 不应该加载。
所以我有两个选择
1) 创建嵌套请求并执行每个请求 onSuccess 在每个
回复 。这似乎可靠,但因此这些是我需要的异步调用
优化时间。
2)创建一个变量并将其递增
每次成功调用,这种方法似乎可以节省时间,但我不确定
这是很好的做法。
那么我有什么办法可以完成这件事吗? .而且我没有使用 RxAndroid
最佳答案
您可以使用 MediatorLiveData
。为每个请求声明一个 LiveData
boolean
标志,每次请求完成时检查 MediatorLiveData
中的所有三个标志,如果它们都是 true
设置 MediatorLiveData
true
然后观察它并进行下一个 Activity
您可以从 documentation 获取详细信息和代码示例
关于android - 在 android 中使用 Retrofit 和 LiveData 执行一系列异步 Web 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45845761/