15 lines
387 B
JavaScript
15 lines
387 B
JavaScript
/**
|
|
* 防抖函数
|
|
* @param {Function} fn 需要防抖的函数
|
|
* @param {number} delay 延迟时间,单位毫秒
|
|
* @returns {Function} 返回防抖处理后的函数
|
|
*/
|
|
export function debounce(fn, delay = 300) {
|
|
let timer = null;
|
|
return function (...args) {
|
|
if (timer) clearTimeout(timer);
|
|
timer = setTimeout(() => {
|
|
fn.apply(this, args);
|
|
}, delay);
|
|
};
|
|
} |