适用于ts的防抖方法,防止打包编译报错

<van-search
  clearable
  :modelValue="searchValue"
  @update:modelValue="changeSearchValue"
  placeholder="请输入搜索关键词"
/>
const searchValue = ref('');
let changeSearch = (value: string) => {
  searchValue.value = value;
  // 值变化时处理逻辑
};
/**
 * 防抖函数
 */
let debounce = (fn: Function, delay: number) => {
  let timer:NodeJS.Timeout;
  const func = function () {
    if(timer) clearTimeout(timer);
    timer = setTimeout(() => {
      fn.apply(func, arguments);
    }, delay);
  };
  return func
};
let changeSearchValue = debounce(changeSearch, 500);