인프런 커뮤니티 질문&답변

이순곤님의 프로필 이미지

작성한 질문수

[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!

Throttling 적용하기

throttle해도 API가 2번 불릴때..

24.07.05 11:50 작성

·

79

0

throttle을 적용해서 fetchmore동작이 제 기대치는 화면 하단부분 가면 한번 불리고 다시 리스트 랜더링되고 다시 화면 하단부분 가야 fetchmore API가 불려야하는데 화면 하단 부분 가면 fetchmore가 2번 불리네요


물론 같은 api요청은 아니고 lastId가 다르게 2번 불리는데 fetchmor불리면 controller의 maxScrollExtent이 바뀌어서 한번만 불려야하는데 왜 2번불릴까요;

답변 1

0

코드팩토리님의 프로필 이미지
코드팩토리
지식공유자

2024. 07. 06. 12:53

안녕하세요!

아마 throttle 시간을 조금 늘리거나 fetchMore 실행되는 스크롤 구간을 좀 늘린다면 한번만 부를 수 있는 스윗스팟이 생길겁니다.

 

말씀하신 문제가 생기는 이유는 fetchMore를 실행 했을때 데이터를 반환받고 화면에 반영하기 전에 fetchMore가 가능한 상태로 변경되는게 아주 약간 더 빠르기 때문입니다 (사람은 절대 못느낍니다. 아마 한프레임 정도 차이일겁니다.)

감사합니다!