Debouncer

 import 'dart:async';

import 'dart:ui';

class Debouncer {
final int milliseconds;
Timer? _timer;
Debouncer({required this.milliseconds});
void run(VoidCallback action) {
if (_timer != null) {
_timer!.cancel();
}
_timer = Timer(Duration(milliseconds: milliseconds), action);
}
}




use:

final debouncer = Debouncer(milliseconds: 2000);


onChanged: (v){
debouncer.run(() {
context.read<AllUserBloc>().add(DoFetchAllUser(token: widget.token, query: v));
});
},





Comments