Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/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流与同步_Kotlin_Repository_Flow_Use Case_Kotlin Flow - Fatal编程技术网

将多个Kotlin流与同步

将多个Kotlin流与同步,kotlin,repository,flow,use-case,kotlin-flow,Kotlin,Repository,Flow,Use Case,Kotlin Flow,我想做3个api调用。但是2 api调用必须是异步的,最后一个必须是等待结果。我想在usecase中写这个,这样就没有viewmodelscope了。我尝试使用zip编写,但它只能创建2个api调用 class UseCase @Inject constructor(private val repository: Repository) : UseCase<Unit, Triple<String, String, String>> { ov

我想做3个api调用。但是2 api调用必须是异步的,最后一个必须是等待结果。我想在usecase中写这个,这样就没有viewmodelscope了。我尝试使用zip编写,但它只能创建2个api调用

class UseCase @Inject constructor(private val repository: Repository) :
        UseCase<Unit, Triple<String, String, String>> {
        override fun invoke(input: Unit): Flow<Triple<String, String, String>> {
            return combine(
                repository.getFirst(),
                repository.getSecond(),
                repository.getThird()
            ) { first, second, third ->
                Triple(first, second, third)
            }
        }
    }
class UseCase@Inject构造函数(私有val存储库:存储库):
用例{
覆盖乐趣调用(输入:单位):流{
回程联合收割机(
repository.getFirst(),
repository.getSecond(),
repository.getThird()
){第一、第二、第三->
三重(第一、第二、第三)
}
}
}

是否有任何不同的流方法用于同时创建同步和异步。或者有什么建议?

您有没有理由不能使用带有挂起功能的用例?