所以我有三个ModelManager
来自 MainActivity ,每次调用都不会相互依赖。
所以我们假设第一个是retrofit web requests
,第二个是getImages()
,最后一个是getCountry()
但是有条件是在成功执行所有这些请求之前不应加载下一个活动。
所以我在这里有两个选择
1)创建嵌套请求并在每个上执行onSuccess上的每个请求
回应。这似乎可靠,但因此这些是我需要的异步调用
优化时间。
2)创建一个变量并将其递增
每次成功通话,这种方法似乎省时,但我不确定
这是一种很好的做法。
那么我有什么方法可以做到这一点。 。我没有使用 RxAndroid
答案 0 :(得分:2)
您可以使用MediatorLiveData
。对于每个请求,请声明LiveData
boolean
标记,并且每次请求完成检查MediatorLiveData
中的所有三个标记,如果它们全部true
设置MediatorLiveData
{{1}然后观察它并进入下一个活动
您可以从documentation
获取详细信息和代码示例答案 1 :(得分:0)
所有itemList对象都使用ObservableDataset
MainActivity实施Observer。
; 加载城市/图像/用户时,isLoadedCities / isLoadedImages / isLoadedUsers设置为true,然后触发inValidate()。
inInvalidate方法; 检查所有IsLoaded标志是否为真,然后触发doSomething()