UNPKG

js-utils-chs

Version:

自定义工具函数库

28 lines 827 B
let timer, flag; /** * 节流原理:在一定时间内,只能触发一次 * @param {*} func * @param {*} wait * @param {*} immediate */ export function throttle(func, wait = 500, immediate = true) { if (immediate) { if (!flag) { flag = true; // 如果适合立即执行,则在wait毫秒内开始执行 typeof func === 'function' && func() timer = setTimeout(() => { flag = false; }, wait); } } else { if (!flag) { flag = true // 如果是非立即执行,则在wait毫秒内的结束处执行 timer = setTimeout(() => { flag = false; typeof func === 'function' && func() }, wait) } } }