/** * 防止用户多次输入 * @param cb 来源 * @param delay 延迟时间 * @returns {(function(...[*]): void)|*} */ export function debounce(cb, delay) { let timer return function (...args) { if (timer) { clearTimeout(timer) } timer = setTimeout(() => { cb.call(this, ...args) }, delay) } } export function functionDebounce(cb, delay) { let timer return function () { if (timer) { clearTimeout(timer) } timer = setTimeout(() => { cb.call(this) }, delay) }; }