我试图通过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);
工作示例http://jsfiddle.net/B8ya3/
关于javascript - 获取setInterval以基于数组执行操作一定次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16300098/