Skip to main content

节流改造函数

题目描述:

实现一个特殊的节流函数,入参:callback, interval, maxCount,效果为在interval的时间内最多执行maxCount次调用

function specialThrottle(fn, interval, maxCount) {
let num = 0;
let timeStampArr = [];
return function () {
let curr = new Date().getTime();
if (num < maxCount) {
fn.call();
timeStampArr.push(curr);
num++
} else {
timeStampArr.shift();
if (curr - timeStampArr[0] > interval) {
fn.call();
timeStampArr.push(curr);
num++
}
}
}
}