有任意数量的值对(产品名称和价格)
我从服务器接收它们并每行输出一对
需要n每毫秒依次闪烁一次m每行持续k毫秒
说明在当前迭代中声明的定时器结束后(包括递归调用)如何在循环中进行下一次迭代?
我尝试每 10 秒更改每条线的状态 6 次,延迟半秒
componentDidMount() {
var that = this;
setTimeout(function run() {
let tickCounter = 0;
for (let key in that.state.fuel) {
setTimeout(function tick(){
that.state.visible[key] = !that.state.visible[key];
that.setState({ visible: that.state.visible });
if (++tickCounter != 6) {
setTimeout(tick, 500);
}
else
tickCounter = 0;
}, 500);
}
setTimeout(run, 5000);
}, 5000);
}
解决方案: 1. 不要集体 farm 一堆定时器,而是用一个来写算法;2. 在循环中,如果是递归调用
setTimeout,则不需要