simple_throttle_debounce 1.0.4 simple_throttle_debounce: ^1.0.4 copied to clipboard
It's a simple pure dart package which implements throttle/debounce functionality, and it's a rewrite work of the original js version (JavaScript patterns: Throttle and Debounce)
example/simple_throttle_debounce_example.dart
import 'dart:async';
import 'package:simple_throttle_debounce/simple_throttle_debounce.dart';
void main() async {
var limit = 100;
var tick = 0;
var interval = 1000;
var simpleTask = (tick, {name = 'simpleTask'}) => print('tick: $tick, name: $name');
dynamic throttleSimpleTask = throttle(simpleTask, interval);
dynamic debounceSimpleTask = debounce(simpleTask, interval);
while (true) {
print(tick);
throttleSimpleTask(tick, name: 'throttleSimpleTask');
debounceSimpleTask(tick, name: 'debounceSimpleTask');
await Future.delayed(Duration(milliseconds: 100), () => tick++);
if (tick > limit) break;
}
}