java在RXJava中实现异步API调用序列
我有一个从本地数据库检索到的对象数组,需要按照API调用的顺序上传到服务器。 对于每个本地DB对象,我必须随后调用两个异步API调用(methodA(),methodB())。在完成整个循环之后,我需要调用另一个API调用,如下所示
for(Object object: localDBObjects){
methodA() -> methodB()
}
methodC()
我的问题是如何阻止methodC()调用,直到完成循环
你可以在下面搜索框中键入要查询的问题!
我有一个从本地数据库检索到的对象数组,需要按照API调用的顺序上传到服务器。 对于每个本地DB对象,我必须随后调用两个异步API调用(methodA(),methodB())。在完成整个循环之后,我需要调用另一个API调用,如下所示
for(Object object: localDBObjects){
methodA() -> methodB()
}
methodC()
我的问题是如何阻止methodC()调用,直到完成循环
# 1 楼答案
这个怎么样:
}
样本输出:
# 2 楼答案
由于我没有太多关于您的项目和方法的具体实现的信息,即它们的参数和返回类型,我有两个假设
注意:我希望您不介意我使用lambda表达式
1)。方法返回类似
Observable<Object>
的Retrofit
在本例中,它们看起来是这样的:
在这种情况下,您可以使用以下内容:
2)。在另一种情况下,方法返回
Object
,如下所示:在这种情况下,您需要在某些地方将运算符
flatMap( )
更改为map( )
: