Kotlin coroutines 如何收集2个协同流程<;T>;?

Kotlin coroutines 如何收集2个协同流程<;T>;?,kotlin-coroutines,kotlin-coroutines-flow,Kotlin Coroutines,Kotlin Coroutines Flow,我有两个SharedFlows,我想对他们最新的排放量采取行动。有一个combine操作符具有类似的效果,但我不认为应该这样使用,因为它不是终端操作符。请帮忙 val flow1 = MutableSharedFlow<Int>() val flow2 = MutableSharedFlow<Double>() flow1.collect(flow2) { a, b -> //do something with a and b } val flow1=Mu

我有两个
SharedFlow
s,我想对他们最新的排放量采取行动。有一个
combine
操作符具有类似的效果,但我不认为应该这样使用,因为它不是终端操作符。请帮忙

val flow1 = MutableSharedFlow<Int>()
val flow2 = MutableSharedFlow<Double>()
flow1.collect(flow2) { a, b ->
    //do something with a and b
}
val flow1=MutableSharedFlow()
val flow2=MutableSharedFlow()
flow1.收集(flow2){a,b->
//用a和b做点什么
}

您仍然需要收集组合流,如:

val flow1 = MutableSharedFlow<Int>()
val flow2 = MutableSharedFlow<Double>()
flow1.combine(flow2) { a, b ->
    //do something with a and b
   a to b // for ex
}.collect{
 
}
val flow1=MutableSharedFlow()
val flow2=MutableSharedFlow()
流程1.组合(流程2){a,b->
//用a和b做点什么
从a到b//
}.收集{
}

有关更多信息,请参见,您仍然需要收集组合流,如:

val flow1 = MutableSharedFlow<Int>()
val flow2 = MutableSharedFlow<Double>()
flow1.combine(flow2) { a, b ->
    //do something with a and b
   a to b // for ex
}.collect{
 
}
val flow1=MutableSharedFlow()
val flow2=MutableSharedFlow()
流程1.组合(流程2){a,b->
//用a和b做点什么
从a到b//
}.收集{
}

有关更多信息,请参见

欢迎使用堆栈溢出。我想你需要一个
zip
操作符:就像我说的,像zip和combine这样的操作符不是终端操作符。我希望避免任何中间步骤。欢迎使用堆栈溢出。我想你需要一个
zip
操作符:就像我说的,像zip和combine这样的操作符不是终端操作符。我想避免任何中间步骤。谢谢,这是我最初的想法。也许这是唯一的出路。谢谢,这是我最初的想法。也许这是唯一的出路。