Appearance
useDebounceFn
防抖函数,延迟执行,重复触发时重新计时。
函数签名
ts
function useDebounceFn<T extends FunctionArgs>(
fn: T,
ms?: MaybeRefOrGetter<number>,
options?: DebounceFilterOptions,
): PromisifyFn<T>基础用法
参数
| 参数 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| fn | 需要防抖的函数 | T extends FunctionArgs | — |
| ms | 延迟时间(毫秒) | MaybeRefOrGetter<number> | 200 |
| options | 配置项 | DebounceFilterOptions | {} |
DebounceFilterOptions
| 参数 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| maxWait | 最大等待时间,超过后强制执行 | number | — |
返回值
返回一个防抖包装后的函数 PromisifyFn<T>,调用方式与原函数一致。123
代码示例
ts
import { useDebounceFn } from 'ljf-hooks'
const debouncedFn = useDebounceFn(() => {
// 防抖逻辑
}, 1000, { maxWait: 5000 })
debouncedFn() // 调用防抖函数