debounce static method
dynamic
debounce(
- Function func,
- StackTrace key, {
- Duration duration = const Duration(milliseconds: 500),
函数防抖
Implementation
// StackTrace.current
static debounce(
Function func,
StackTrace key, {
Duration duration = const Duration(milliseconds: 500),
}) {
MYCustomTrace programInfo = MYCustomTrace(key);
String _key = '${programInfo.fileName}_${programInfo.lineNumber}_debounce';
if (!XUtil.enableMap.containsKey(_key)) {
XUtil.enableMap.addAll({_key: null});
}
if (XUtil.enableMap[_key]?.isActive ?? false) {
XUtil.enableMap[_key]?.cancel();
}
XUtil.enableMap[_key] = Timer(duration, () {
func.call();
XUtil.enableMap[_key]?.cancel();
});
}