我试图通过 setInterval() 每 10 毫秒迭代一次数组中的值。
但是,由于计算机无法快速处理迭代,因此我的clearInterval()实际上是在数组完全迭代之前清除间隔。
下面只是我正在做的事情的一个例子,而不是CPU密集型的实际代码。
如何修复代码,以便无论 CPU 性能如何,它都能迭代到底?
var blah = ['a','b','c'];
i=0;
int = setInterval(function(){
console.log(blah[i]);
i++;
},10);
timeout = setTimeout(function(){
clearInterval(int);
}, blah.length * 10);
最佳答案
使用这个
var blah = ['a','b','c'];
var i=0;
var intervalId = setInterval(function(){
console.log(blah[i]);
i++;
if(i==blah.length){ // i== 3 all array elements processed. then clear interval
clearInterval(intervalId );
}
},10);
关于javascript - 获取 setInterval 以根据数组执行某个操作一定次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16300098/