티스토리 뷰
[Android] flow 사용시 주의(하나의 launched effect에서 여러개 collect를 하면안된다!)
데자와 맛있다 2023. 11. 2. 14:30프로젝트를 하던 도중....
한 launched effect에서 여러개의 flow를 collect 하려고했다

이런식으로
근데 viewModel에서 값이 바뀌는것까지 다 확인을 했는데 저 color changed가 로그가 안찍혔다...
그래서

이렇게 바꾸니깐 color changed가 호출됨
헐;
그래서 찾아보니깐
StateFlow 를 collect 할때의 주의할점
TLDR; StateFlow.collect 는 루프를 사용하기 때문에 다음 코드 진행을 막는다.
co-zi.medium.com
StateFlow.collect 는 루프를 사용하기 때문에 다음 코드 진행을 막는다.
라고 적혀있다
ㄷㄷ;
그래서 밑에거가 실행이 안된거임

이거를 해보면 hi?? 가출력이안됨
https://stackoverflow.com/questions/76016624/can-two-collect-be-used-with-the-same-stateflow
Can two collect be used with the same StateFlow?
I am trying to understand the use of flow in Kotlin and I was trying different codes, in particular I was with this method: val stateFlow = MutableStateFlow(0) private fun stateFlowWithContinueCo...
stackoverflow.com
collect를 여러개 하고싶다면 각기 다른 코루틴 내에서 해야된단다(무한 루프이므로)
해결방안은 다음에 이어서계속..
'공부 > Android' 카테고리의 다른 글
Google Login, Google People Api 로 사용자의 구글 계정 정보를 알아내보자~ 1편 (1) | 2024.07.14 |
---|---|
[Play Store, Android] 계정 정보 삭제 옵션 제공 (2) | 2023.12.06 |
[아키텍쳐] 클린아키텍쳐 적용하면서 했던 고민 메모, 좋았던점 (1) | 2023.09.26 |
[Compose] 로그인 화면(바텀네비게이션 없어야되는화면)과 바텀 네비게이션 있어야 하는 화면 간 처리 (0) | 2023.09.22 |
[Compose] 두 Text 기준선 맞추기 (0) | 2023.09.16 |