728x90
    
    
  [flutter] TextField 타이밍 : Debouncing
검색기능 등에서 텍스트가 바뀔때마다 통신을 하게 구현을 했을 때 현실과 이상의 괴리가 발생한다. 이상: 원하는 텍스트를 '모두' 입력했을 때, 그 텍스트에 대해서 검색을 시도한다. 현실: 텍
zionh.tistory.com
search를 할 때 단어를 칠 때마다 검색하게 되면 너무나 서버 낭비가 심하다.
적절하게 시간 봐가면서 실행해주는 것이 바로 이 deboucing 이다.
오늘은 이 debouncing을 간단하게 처리해주도록 코드를 정리해놓으신 블로그가 있어서 소개하고자 한다.
다른 library(Google map location picker - 구글에서 만든건지는 잘 모르겠음)에서 찾은 것은 text가 없을 때, cancel을 시켜주는 것이다. -> 좀 괜찮은 것 같다 ( 그것말고는 블로그 내용과 동일하다)
Timer debouncer;
void onSearchInputChange() {
  if (editController.text.isEmpty) {
    debouncer?.cancel();
    widget.onSearchInput(editController.text);
    return;
  }
  if (debouncer?.isActive ?? false) {
    debouncer.cancel();
  }
  debouncer = Timer(Duration(milliseconds: 500), () {
    widget.onSearchInput(editController.text);
  });
}
728x90
    
    
  '개발 > Flutter' 카테고리의 다른 글
| flutter outlined Text 넣기 (0) | 2022.04.03 | 
|---|---|
| flutter rounded tab bar styling (0) | 2022.04.02 | 
| Flutter geocoding => 위도, 경도 좌표를 주소로 바꾸기 (0) | 2022.04.01 | 
| 메모리릭 해결법 (0) | 2022.03.25 | 
| tutorial_coach_mark flutter 튜토리얼 overlay touch (0) | 2022.03.24 |