Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.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
Kotlin 如何对同一端点并行进行多个API调用,并将所有响应合并到一个输出数组中?_Kotlin_Retrofit_Rx Java_Kotlin Coroutines - Fatal编程技术网

Kotlin 如何对同一端点并行进行多个API调用,并将所有响应合并到一个输出数组中?

Kotlin 如何对同一端点并行进行多个API调用,并将所有响应合并到一个输出数组中?,kotlin,retrofit,rx-java,kotlin-coroutines,Kotlin,Retrofit,Rx Java,Kotlin Coroutines,目前在我的Kotlin代码中,我有一个用户数组,我执行for循环,对每个用户的信息发出GET请求,然后将他们的信息添加到可变列表中。我观察列表并在新用户信息发布到它时更新我的UI 但我想知道我如何能同时执行所有用户调用,并等待最终结果,同时发布所有UI?您可以使用语法启动请求,然后对它们进行处理(请注意,一旦任何延迟失败,它将立即失败) 比如: val one=async{dosomethinguselfone()} val two=async{dosomethinguselftwo()} va

目前在我的Kotlin代码中,我有一个用户数组,我执行for循环,对每个用户的信息发出GET请求,然后将他们的信息添加到可变列表中。我观察列表并在新用户信息发布到它时更新我的UI

但我想知道我如何能同时执行所有用户调用,并等待最终结果,同时发布所有UI?

您可以使用语法启动请求,然后对它们进行处理(请注意,一旦任何延迟失败,它将立即失败)

比如:

val one=async{dosomethinguselfone()}
val two=async{dosomethinguselftwo()}
val result=awaitAll(一,二)//将为您提供一个结果列表
因此,在您的情况下,您可以在用户上启动
async
操作

例如:

Roman Elisarov关于结构化并发的博客:(关于并行分解的部分)

您可以使用语法启动请求,然后再启动请求(请注意,一旦任何延迟失败,它将立即失败)

比如:

val one=async{dosomethinguselfone()}
val two=async{dosomethinguselftwo()}
val result=awaitAll(一,二)//将为您提供一个结果列表
因此,在您的情况下,您可以在用户上启动
async
操作

例如:

Roman Elisarov关于结构化并发的博客:(关于并行分解的部分)