Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Api调用链接到某些限制Rxjava2+;改造2_Android_Retrofit_Rx Java_Retrofit2_Rx Java2 - Fatal编程技术网

Android Api调用链接到某些限制Rxjava2+;改造2

Android Api调用链接到某些限制Rxjava2+;改造2,android,retrofit,rx-java,retrofit2,rx-java2,Android,Retrofit,Rx Java,Retrofit2,Rx Java2,我正在使用Rxjava对Rxjava进行2改造以进行API调用。我必须(对同一个API)进行多个API调用,比如说100个。现在我希望,最多有5个并行执行。因此,如果有5个API调用正在进行,那么第6个API调用应该等待。正在进行的5次通话中的任何一次通话结束后,第6次通话应立即开始。我不希望在前5个完成的地方,只有在接下来的5个发生之后,才有大量的5个 我不确定如何使用Rxjava实现,这就是为什么我没有任何代码片段可以发布的原因。任何帮助都很好RxJava有一些操作符可以限制运行中的线程数量

我正在使用
Rxjava
Rxjava
进行
2
改造以进行API调用。我必须(对同一个API)进行多个API调用,比如说100个。现在我希望,最多有5个并行执行。因此,如果有5个API调用正在进行,那么第6个API调用应该等待。正在进行的5次通话中的任何一次通话结束后,第6次通话应立即开始。我不希望在前5个完成的地方,只有在接下来的5个发生之后,才有大量的5个


我不确定如何使用
Rxjava
实现,这就是为什么我没有任何代码片段可以发布的原因。任何帮助都很好

RxJava有一些操作符可以限制运行中的线程数量

observable
  .flatMap( input -> apiCallReturningObservable( input ), 5 )
  .subscribe();

一次最多调用5次
apiCallReturningObservable()

您要处理的具体场景是什么?与其尝试在RxJava中创建它,我想看看核心问题,这是唯一的解决方案吗?它会在五个工人中的一些人完成时自动调用第六个,还是在提供的限制后将其切断?文档说它最终映射了所有的值,但同时订阅的数量有一个上限。这正是我所需要的!