防抖函数
创建一个防抖包装器,在指定时间内多次调用时,仅执行最后一次, 可选 immediate 选项,使第一次调用立即执行。
immediate
const log = debounce(() => console.log("Executed"), 300);window.addEventListener("resize", log); // 300ms 内重复触发时,仅最后一次执行 Copy
const log = debounce(() => console.log("Executed"), 300);window.addEventListener("resize", log); // 300ms 内重复触发时,仅最后一次执行
const logImmediate = debounce(() => console.log("Immediate Execution"), 300, true);logImmediate(); // 立即执行一次,后续调用仍需等待 300ms Copy
const logImmediate = debounce(() => console.log("Immediate Execution"), 300, true);logImmediate(); // 立即执行一次,后续调用仍需等待 300ms
const debouncedFn = debounce(() => console.log("Will not execute"), 500);debouncedFn();debouncedFn.cancel(); // 取消执行 Copy
const debouncedFn = debounce(() => console.log("Will not execute"), 500);debouncedFn();debouncedFn.cancel(); // 取消执行
目标函数的类型
需要防抖处理的函数
推迟执行的等待时间(毫秒)
Optional
是否在第一次调用时立即执行
防抖后的函数,并附带 cancel 方法可手动取消防抖
cancel
防抖函数
创建一个防抖包装器,在指定时间内多次调用时,仅执行最后一次, 可选
immediate
选项,使第一次调用立即执行。Example
Example
Example