throttle static method

dynamic throttle(
  1. Function func,
  2. StackTrace key, {
  3. Duration duration = const Duration(milliseconds: 2000),
})

Implementation

static throttle(
    Function func,
    StackTrace key, {
      Duration duration = const Duration(milliseconds: 2000),
    }) {
  MYCustomTrace programInfo = MYCustomTrace(key);
  String _key = '${programInfo.fileName}_${programInfo.lineNumber}_throttle';
  print(_key);
  if (XUtil.enableMap.containsKey(_key)) {
    return;
  } else {
    XUtil.enableMap.addAll({_key: true});
    func.call();
    Timer(duration, () {
      XUtil.enableMap.remove(_key);
    });
  }
}