NuclearDispersionSystem/ant-design-vue-jeecg/node_modules/@antv/util/lib/debounce.js
2023-09-14 14:47:11 +08:00

22 lines
471 B
JavaScript

function debounce(func, wait, immediate) {
var timeout = void 0;
return function () {
var context = this,
args = arguments;
var later = function later() {
timeout = null;
if (!immediate) {
func.apply(context, args);
}
};
var callNow = immediate && !timeout;
clearTimeout(timeout);
timeout = setTimeout(later, wait);
if (callNow) {
func.apply(context, args);
}
};
}
module.exports = debounce;