/** * 方法节流 * @param wait 节流时间 单位秒 */ export default function Throttle(wait: number) { return function (target: any, keyname: string, descriptor: PropertyDescriptor) { const method: Function = descriptor.value; let timer: number = null; descriptor.value = function (...args: any[]) { if (timer) { return; } else { timer = setInterval(() => { clearInterval(timer); timer = null; }, wait * 1000); return method.apply(this, args); } }; }; }