如何调用10次以下函数
for(x=0; x<10; x++) callfunction();但每次通话间隔1秒?
发布于 2014-02-08 16:05:39
您可以使用setInterval进行间隔重复执行,然后在10次调用之后使用clearInterval:
callfunction();
var callCount = 1;
var repeater = setInterval(function () {
if (callCount < 10) {
callfunction();
callCount += 1;
} else {
clearInterval(repeater);
}
}, 1000);补充道:,但是如果您不知道执行调用函数需要多长时间,调用起点之间的精确时间并不重要,那么出于Paul提到的原因和这篇文章中描述的原因,使用setTimeout似乎更好。
发布于 2014-02-08 16:06:23
function callNTimes(func, num, delay) {
if (!num) return;
func();
setTimeout(function() { callNTimes(func, num - 1, delay); }, delay);
}
callNTimes(callfunction, 10, 1000);编辑:函数主要是说:调用传递的函数,然后稍过一点,再做9次。
发布于 2014-02-08 16:08:15
另一种解决办法
for(var x=0; x<10; x++) window.setTimeout(callfunction, 1000 * x);https://stackoverflow.com/questions/21648264
复制相似问题