코루틴 플로우 정리(컨텍스트, 버퍼링, 결합, 예외 및 완료처리, 런칭)


코루틴 플로우 정리(컨텍스트, 버퍼링, 결합, 예외 및 완료처리, 런칭)

목차 1. 플로우 컨텍스트 2. 플로우 버퍼링 3. 플로우 결합 4. 플로우 예외 및 완료처리 5. 플로우 런칭 1. 플로우 컨텍스트 우리는 플로우를 사용할 때, 코루틴과 함께 사용하곤 한다. 그리고 하나의 코루틴 빌더(launch, async, withContext 등...)내에서 Flow객체를 반환받게 된다. 이때 반환되어지는 Flow도 어떤 스레드에서 돌것인지에 대한 context를 가지게 되는데, 이때 이 Flow context는 자신을 호출한 코루틴의 context를 그대로 가지게 된다. 그리고 이를 context preservasion즉, 콘텍스트 보존이라 부른다. 코드로 한 번 이해해보도록 하자. fun foo(): Flow<Int> { return flow { Log.i("flowTest", "Flow 시작, currentThread :${Thread.currentThread().name}") for (i in 1..3) { emit(i) } } } fun main()...


#context #코루틴완료처리 #코루틴예외 #코루틴런칭 #안드로이드 #coroutine예외 #coroutine결합 #coroutinelauching #coroutinebuffering #코틴

원문링크 : 코루틴 플로우 정리(컨텍스트, 버퍼링, 결합, 예외 및 완료처리, 런칭)