这是我的代码
function func(){
console.log('run')
}
for(var i=0;i<1000;i++)
func()
我希望我的函数运行1000次,但调用间隔1秒。 我正在寻找一个辅助函数来强制该函数在x毫秒内不被调用超过1次。
我用下划线搜索但没找到。
之类的东西func=_.interval(func,1000)
_。油门没有帮助我。如果我将使用_.throttle,我的“func”将不会被执行1000次。
谢谢。
答案 0 :(得分:1)
还有很多其他方法可以做到这一点,这不是最漂亮的,但是:
var tick, delay, count, interval, stop;
count = 1000; // 1000 times
delay= 1000; // 1s between calls
stop = _.after(count,function() {
clearInterval(interval);
});
tick = function() {
console.log('TICK');
stop();
};
interval = setInterval(tick,delay);
答案 1 :(得分:0)
然后创建一个辅助函数:
-.interval = function(func,ms){
setTimeout(func,ms); // I didn't use setInterval because both aren't same
}
我无法想象您为什么要这样做,而不使用更通用的setTimeout
和setInterval
。
通过上述声明,您不需要使用setTimeout
,而是使用您所谓的帮助函数。