/
home
/
infinitibizsol
/
testingcrm.infinitibizsol.com
/
node_modules
/
axios
/
lib
/
helpers
/
File Upload :
llllll
Current File: /home/infinitibizsol/testingcrm.infinitibizsol.com/node_modules/axios/lib/helpers/throttle.js
/** * Throttle decorator * @param {Function} fn * @param {Number} freq * @return {Function} */ function throttle(fn, freq) { let timestamp = 0; let threshold = 1000 / freq; let lastArgs; let timer; const invoke = (args, now = Date.now()) => { timestamp = now; lastArgs = null; if (timer) { clearTimeout(timer); timer = null; } fn.apply(null, args); } const throttled = (...args) => { const now = Date.now(); const passed = now - timestamp; if ( passed >= threshold) { invoke(args, now); } else { lastArgs = args; if (!timer) { timer = setTimeout(() => { timer = null; invoke(lastArgs) }, threshold - passed); } } } const flush = () => lastArgs && invoke(lastArgs); return [throttled, flush]; } export default throttle;
Copyright ©2k19 -
Hexid
|
Tex7ure