Debouncer

정재한·2022년 8월 23일
0

앱개발

목록 보기
5/23

디바운스 파일생성

import 'package:flutter/foundation.dart';
import 'dart:async';

class Debouncer {
  final int milliseconds;
  Timer? _timer;

  Debouncer({required this.milliseconds});

  run(VoidCallback action) {
    _timer?.cancel();
    _timer = Timer(Duration(milliseconds: milliseconds), action);
  }
}

전역변수에

final _debouncer = Debouncer(milliseconds: 500);

텍스트필드 온체인지에

onChanged: (value) {
                  _debouncer.run(
                      () => viewModel.fetchFosterInfo(_textController.text));
                },

0개의 댓글

관련 채용 정보