A simple throttle/debounce library for Dart developers.

Created from templates made available by Stagehand under a BSD-style license.

Usage

A simple usage example:

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;
  }
}

Features and bugs

Please file feature requests and bugs at the issue tracker.

References

License

MIT License

Copyright (c) 2020 liudonghua

Libraries

simple_throttle_debounce
Support for doing something awesome.