st-common-core
Version:
小尾巴前端通用核心库
2 lines (1 loc) • 541 B
JavaScript
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=({fun:e,tag:t="_throttle",limit:n=1,thisArg:r=null})=>(Reflect.defineProperty(e,t,{value:0,writable:!0}),async(...i)=>{if(Reflect.get(e,t)>=n)return;Reflect.set(e,t,Reflect.get(e,t)+1);const l=await e.apply(r,i);return Reflect.set(e,t,Reflect.get(e,t)-1),l}),c=({fun:e,interval:t=500,thisArg:n=null})=>{let r=0;return async(...i)=>{const l=Date.now();if(!(l-r<t))return r=l,await e.apply(n,i)}};exports.funThrottleByLimit=o;exports.funThrottleByTime=c;