(240603) Medium Daily Digest

Godomin·2024년 6월 3일

Medium-Daily-Digest

목록 보기
13/24

Collect vs CollectLatest in kotlin coroutine

https://medium.com/@manuaravindpta/collect-vs-collectlatest-in-kotlin-coroutine-fc8c09fb5ddb

collect와 collectLatest는 모두 flow의 terminal operator이다.

collect

방출되는 모든 값을 처리

  • flow가 완료나 취소 될 때까지 현재 코루틴을 block 한다.
  • 방출된 모든 값에 대해 람다 함수를 실행한다.
  • 여러 collector 중 느린 것이 있으면 렉이 발생할 수 있다.

collectLatest

방출된 값 중 가장 최신 값을 처리

  • 실행 중인 코루틴을 반드시 block 할 필요는 없다. (구현에 따라 다름)
  • 이전 값이 완료되기 전에 새 값을 방출하면 진행 중인 collect를 취소한다.
  • 가장 최근에 받은 값에 대해서만 람다 함수를 실행한다.
  • UI 업데이트와 같은 최신 데이터에만 관심이 있는 경우 적합하다.

0개의 댓글