我正在尝试不断循环遍历数组,更新其中的值,并在达到数组长度时启动循环。它目前阻止页面加载来自加载,并且比超时应允许的安慰日志快得多。如何阻止循环阻止页面加载?
public imgArray: Array<boolean> = [true, false, false, false]
ngOnInit() {
this.imgCycle();
}
imgCycle() {
let i = 0;
while (true) {
setTimeout(function () { this.imgArray[i] = true }, 10000);
console.log(this.imgArray)
if (i == this.imgArray.length) {
i = 0
continue;
}
i++
}
}
虽然真的几乎不是正确的选择。也许你想看看setInterval()?这将经常运行,但仍可能每秒几次。关键是,你必须给浏览器时间在某个时刻做其他事情。 (请原谅我有几件事情。我在Angular2上没有太多经验)
public imgArray: Array<boolean> = [true, false, false, false]
let counter = 0;
ngOnInit() {
setInterval(imgCycle, 10000)
}
imgCycle() {
this.imgArray[counter] = true;
if (counter == this.imgArray.length) {
counter = 0
continue;
}
counter++
}
}