Javascript - 每x秒执行一次函数,但只执行三次函数
问题描述:
我一直在做这方面的一些研究,而且我什么都没有想出来。基本上,我正在尝试编写一个数据收集程序,该程序调用一个函数3次,每次调用之间等待10秒钟。但是,我所能找到的只是“如何在y秒内每x秒调用一次函数”,并且它不能完全解决我的问题,因为完成这三个调用可能需要超过y秒的时间。我知道我将不得不使用setInterval和clearIntervals,但我不知道如何去格式化我的循环。Javascript - 每x秒执行一次函数,但只执行三次函数
答
使用的setInterval,并保持在每次运行一个计数器,然后,清除间隔时数量变得足够大。
(function() {
var c = 0;
var timeout = setInterval(function() {
//do thing
c++;
if (c > 2) {
clearInterval(timeout);
}
}, 10000);
})();
答
使用setTimeout
:
function callNTimes(n, time, fn) {
function callFn() {
if (--n < 0) return;
fn();
setTimeout(callFn, time);
}
setTimeout(callFn, time);
}
然后你就可以使用该功能来设置计算迭代:
callNTimes(3, 10000, function() { /* whatever */ });
五高同胞麦克纳利! – Pointy 2014-12-03 02:16:07