combine
Returns a Flow whose values are generated with transform function by combining the most recently emitted values by each flow.
It can be demonstrated with the following example:
val flow = flowOf(1, 2).onEach { delay(10) }
val flow2 = flowOf("a", "b", "c").onEach { delay(15) }
flow.combine(flow2) { i, s -> i.toString() + s }.collect {
    println(it) // Will print "1a 2a 2b 2c"
}Content copied to clipboard
This function is a shorthand for `flow.combineTransform(flow2) { a, b -> emit(transform(a, b)) }
fun <T1, T2, R> combine(    flow: Flow<T1>,     flow2: Flow<T2>,     transform: suspend (a: T1, b: T2) -> R): Flow<R>
Returns a Flow whose values are generated with transform function by combining the most recently emitted values by each flow.
It can be demonstrated with the following example:
val flow = flowOf(1, 2).onEach { delay(10) }
val flow2 = flowOf("a", "b", "c").onEach { delay(15) }
combine(flow, flow2) { i, s -> i.toString() + s }.collect {
    println(it) // Will print "1a 2a 2b 2c"
}Content copied to clipboard
This function is a shorthand for `combineTransform(flow, flow2) { a, b -> emit(transform(a, b)) }
fun <T1, T2, T3, R> combine(    flow: Flow<T1>,     flow2: Flow<T2>,     flow3: Flow<T3>,     transform: suspend (T1, T2, T3) -> R): Flow<R>
fun <T1, T2, T3, T4, R> combine(    flow: Flow<T1>,     flow2: Flow<T2>,     flow3: Flow<T3>,     flow4: Flow<T4>,     transform: suspend (T1, T2, T3, T4) -> R): Flow<R>
fun <T1, T2, T3, T4, T5, R> combine(    flow: Flow<T1>,     flow2: Flow<T2>,     flow3: Flow<T3>,     flow4: Flow<T4>,     flow5: Flow<T5>,     transform: suspend (T1, T2, T3, T4, T5) -> R): Flow<R>
inline fun <T, R> combine(vararg flows: Flow<T>, crossinline transform: suspend (Array<T>) -> R): Flow<R>
inline fun <T, R> combine(flows: Iterable<Flow<T>>, crossinline transform: suspend (Array<T>) -> R): Flow<R>
Returns a Flow whose values are generated with transform function by combining the most recently emitted values by each flow.