collectLatest가 아닌 collect로 하면 작동하지 않는 이슈
659
작성한 질문수 29
검색창에 검색어를 입력하고 페이징 데이터로 불러오는 과정에서
collectLatest가 아닌 collect로 데이터를 수집하면 맨 처음 한번을 제외하고 그 이후에는 검색어를 입력해도 PagingSource 의 load함수가 작동하지 않는 것을 확인했습니다.
collectLatest가 아닌 collect 로 했을때 동작이 정상적으로 안되는 이유가 무엇인가요?
답변 1
0
collect는 flow에서 발행되는 모든 데이터를 순서대로 처리하는데 반해, collectLatest는 flow에 새로운 데이터가 들어오면 기존 suspend 작업을 버리고 새로운 suspend 작업을 수행합니다. 다음 링크를 참조하세요.
paging은 flow 데이터가 시간에 따라 계속 갱신되고 기존 데이터는 무효화되는 구조를 갖고 있으므로 구글은 UI에 expose하는 데이터에 대해서는 collect가 아닌 collectLatest를 쓰도록 권장하고 있습니다.
Coroutine, Flow 질문
0
401
1
Transformations import 안됨
0
588
1
moshi관련 질문입니다.
0
566
2
searchBooks() 에서 북 검색 입력을 너무 빨리 할 경우 마지막 글자로 검색이 안돼요.
0
375
1
안드로이드에서 아키텍처 패턴
0
423
1
RecyclerView.Adapter vs ListAdpater
0
473
1
Flows 와 Coroutine
1
573
1
[BookSearchAdapter] onBindViewHolder의 currentList[position] 질문
0
370
1
코루틴 메모리 관련해서 질문드립니다!
0
456
1
Java Bill Pugh Solution 에서 INSTANCE
0
469
1
nested json에서 특정 부분만 파싱하는법
0
495
1
Fragment에서의 viewBinding
0
525
3
toolbar 질문드립니다.
0
417
2
EditText 에서 delay 주셔서 처리하셨는데 flow 의 debounce() 하고 같은건가요?
2
568
1
코루틴 관련 질문
0
549
1
오류
1
494
2
강사님! 직렬화 라이브러리를 Moshi, kotlin serialization 두개를 사용하시던데 이유가 있으신가요?
1
749
1
EditText 는 kill 해도 값이 잘 저장되어있던데 혹시 제가 잘못테스트했을까요?
1
354
1
서버도 페이징 기능이 되는데 Paging 라이브러리가 필요할까요?
1
530
1
GSON 이 아닌 Moshi 를 사용하시는 이유가 있을까요?
1
1271
1
EditText 는 액티비티가 재생성되어도 값이 남아있던데 이유가 궁금해요
1
498
1
ViewModel 생성시 왜 초기값을 받지 않도록 했을까요?
1
438
1
Room DB에 id 항목 추가
0
255
1
안녕하세요. 용어에 대해 질문이 있어 글 남깁니다.
0
410
2





