Throttle(2)
-
[074] 플러터 (Flutter) 배우기 - Debounce 이용하여 함수 중복 호출 방지하기(마지막으로 호출한 것만 실행)
안녕하세요 totally 개발자입니다. 이 포스팅에서는 debounce 개념을 사용하여 함수의 중복 호출을 막아보도록 하겠습니다. 저번에 다루었던 throttle과 달리 debounce는 함수가 여러 번 호출되었을 때 맨 마지막에 호출한 것만 실행합니다. 그래서 예를 들어 텍스트를 입력할 때 텍스트 변화를 감지하는 onChange 혹은 숫자를 늘리는 행위 즉 장바구니 등의 경우에 사용할 수 있는 방법입니다. 먼저 간단한 작동 구조를 먼저 살펴보면 아래와 같습니다.1. Debounce 변수 선언 (예를 들어, 1초 동안 동일한 값을 마지막에 호출한 것만 체크하겠다는 변수)2. Debounce를 적용할 함수 선언 (예를 들어, 이메일이 올바른지, 중복되는지를 체크하겠다는 함수)3. 위 2번에서 선언한 함수를..
2024.10.10 -
[073] 플러터 (Flutter) 배우기 - Throttle 적용하여 리스트뷰(ListView) 페이지네이션 API 중복 호출 방지하기
안녕하세요 totally 개발자입니다. 이 포스팅에서는 플러터 패키지 중 debounce_throttle을 사용하여 Throttle 개념을 적용해보도록 하겠습니다. 우선 Throttle의 사용 목적에 대해서 알아야 합니다. 이 포스팅 이후에 Debounce에 대해서도 다룰 것이지만 Throttle과 Debounce는 비슷해보이나 서로 다른 목적을 가지고 있습니다. Throttle은 일정한 주기 동안 특정 함수가 여러 번 호출된 경우 함수를 한 번만 바로 실행하고 연속적으로 함수를 호출하는 것은 방지할 수 있습니다. 반대로 Denounce는 정해진 시간 동안 특정 함수가 여러 번 호출된 경우 마지막으로 실행된 함수를 호출합니다. Throttle특정 시간 동안 여러 번의 함수 호출이 있을 경우 함수를 한 번..
2024.05.26