zarm-web
Version:
基于 React 的桌面端UI库
32 lines (26 loc) • 703 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _this = void 0;
var throttle = function throttle(func, delay) {
var timer;
var startTime = Date.now();
return function () {
var curTime = Date.now();
var remaining = delay - (curTime - startTime);
clearTimeout(timer);
if (remaining <= 0) {
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
func.apply(_this, args);
startTime = Date.now();
} else {
timer = setTimeout(func, remaining);
}
};
};
var _default = throttle;
exports.default = _default;