// 防抖
// 导出一个函数，用于防抖
export function debounce(fn: (...arg: unknown[]) => void, delay: number = 300) {
  // 定义一个变量，用于存储定时器
  let timer: number | null = null
  // 返回一个函数，用于接收参数
  return function (...args: unknown[]) {
    // 如果定时器存在，则清除定时器
    if (timer) {
      clearTimeout(timer)
    }
    // 设置定时器，延迟执行传入的函数
    timer = setTimeout(() => {
      fn(...args)
    }, delay)
  }
}
