디바운스 파일생성
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));
},