suyiScreen/node_modules/comutils/debounce.js

26 lines
605 B
JavaScript

/**
* @desc 防抖函数
* @param {Function} callBack
* @return {Function} fn
*/
var debounce = function debounce(fn) {
var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 500;
var timer = void 0;
return function () {
var _this = this;
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
if (timer) {
clearTimeout(timer);
}
timer = setTimeout(function () {
fn.apply(_this, args);
}, delay);
};
};
module.exports = debounce;