반응형
간혹 코루틴에서 Flow를 사용하여 데이터의 흐름을 제어하는 경우에 Flow 내부에 List를 사용하는 경우가 종종 있다. 이러한 상황에서 Flow 내부 List를 얻기 위해서는 flat-mapping 을 사용하여 얻을 수 있다.
suspend fun <T> Flow<List<T>>.flattenToList() =
flatMapConcat { it.asFlow() }.toList()
suspend fun test() {
val flowOfLists: Flow<List<Int>> = flowOf(listOf(1, 2), listOf(3, 4))
val flatList: List<Int> = flowOfLists.flattenToList()
println(flatList)
}
반응형
'Android > Kotlin' 카테고리의 다른 글
[Kotlin/Plugin] Json으로 data class 추출하기 (0) | 2022.07.28 |
---|---|
[Kotlin] Object (0) | 2022.06.22 |
[Kotlin] @Volatile 키워드란? (0) | 2022.06.15 |
[Kotlin] Scope Function (작성중) (0) | 2022.05.22 |
[Kotlin] Coroutine Builder 간략 정리 (0) | 2022.04.25 |