throttle function
throttle high order function.
This function accept a callback
function and a interval
in miliseconds unit.
It is a dart implementation of throttle, see more details on:
Implementation
dynamic throttle(Function callback, int interval) {
var enableCall = true;
return VarArgsFunction((List<dynamic> positionalArguments,
[Map<Symbol, dynamic>? namedArguments]) {
if (!enableCall) return;
enableCall = false;
Function.apply(callback, positionalArguments, namedArguments);
Future.delayed(Duration(milliseconds: interval), () => enableCall = true);
});
}