Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | 3x 3x 3x 4x 1x 1x 4x 2x 4x 1x 1x | // 1. 防抖
export function debounce(fn, delay, options) {
let timer = null;
let shouldInvoke = options.immediately // 是否立即执行
return function(...args) {
if (shouldInvoke) {
fn.call(this, ...args)
shouldInvoke = false
}
if (timer) {
clearTimeout(timer)
}
timer = setTimeout(() => {
fn.call(this, ...args)
shouldInvoke = options.immediately
}, delay)
}
} |