throttle method

Function throttle()

截流函数 在触发事件时,当即执行目标操做,直到异步方法执行完成后再响应事件

Implementation

Function throttle() {
  bool enable = _funcThrottle[hashCode] ?? true;
  void func() {
    if (enable) {
      _funcThrottle[hashCode] = false;
      this.call().then((_) {
        _funcThrottle[hashCode] = false;
      }).whenComplete(() {
        _funcThrottle.remove(hashCode);
      });
    }
  }

  func();
  return func;
}