将多个Kotlin流与同步
我想做3个api调用。但是2 api调用必须是异步的,最后一个必须是等待结果。我想在usecase中写这个,这样就没有viewmodelscope了。我尝试使用zip编写,但它只能创建2个api调用将多个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
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()
){第一、第二、第三->
三重(第一、第二、第三)
}
}
}
是否有任何不同的流方法用于同时创建同步和异步。或者有什么建议?您有没有理由不能使用带有挂起功能的用例?