问题描述
fun <T> resultFlow(
query: () -> Flow<T>,... other parameters
): Flow<T> {
return flow {
val source = query()
//!!!! emit(source) // I want something like emitSource like livedata has
...
}
有什么办法可以让流像这样发送吗?
解决方法
如果您想从 Flow 中发出所有项目,这正是 emitAll()
所做的:
fun <T> resultFlow(
query: () -> Flow<T>,... other parameters
): Flow<T> {
return flow {
val source = query()
// Note that this will suspend until all values from the flow are collected.
emitAll(source)
}