%PDF- %PDF-
Direktori : /home/silvzytp/dsr_code/node_modules/axios/lib/helpers/ |
Current File : //home/silvzytp/dsr_code/node_modules/axios/lib/helpers/throttle.js |
'use strict'; /** * Throttle decorator * @param {Function} fn * @param {Number} freq * @return {Function} */ function throttle(fn, freq) { let timestamp = 0; const threshold = 1000 / freq; let timer = null; return function throttled(force, args) { const now = Date.now(); if (force || now - timestamp > threshold) { if (timer) { clearTimeout(timer); timer = null; } timestamp = now; return fn.apply(null, args); } if (!timer) { timer = setTimeout(() => { timer = null; timestamp = Date.now(); return fn.apply(null, args); }, threshold - (now - timestamp)); } }; } export default throttle;