UNPKG

csdnsynchexo

Version:

支持csdn/博客园/掘金/segmentfault/腾讯云加社区等平台一键迁移hexo

19 lines (18 loc) 538 B
const wait = (delay) => new Promise((res) => { setTimeout(() => { res(); }, delay); }); export const throttle = (delay = 500) => { let last = 0; return function (target, propertyKey, descriptor) { const origin = descriptor?.value; descriptor.value = async function (...args) { const now = Date.now(); let rest = Math.max(0, delay - (now - last)); await wait(rest); last = Date.now(); return origin.apply(this, args); }; }; };