123456789101112131415161718192021222324 |
- import 'dart:async';
- import 'package:flutter/material.dart';
- class Debounce {
- final Duration duration;
- Timer? _timer;
- Debounce({
- this.duration = const Duration(milliseconds: 1000),
- });
- void call(VoidCallback action) {
- dispose();
- _timer = Timer(duration, () {
- action();
- });
- }
- void dispose() {
- _timer?.cancel();
- _timer = null;
- }
- }
|