在setInterval中使用setTimeout时出现问题

时间:2017-04-09 14:39:10

标签: javascript

我想在x中使用setTimeout。第一次打印setInterval。间隔后,它会打印out_k:0out_k:1?我不明白,我认为inside_k:0应该 1 inside_k 1 ,非常奇怪。

ouside k

1 个答案:

答案 0 :(得分:1)

这是执行代码期间的事件序列

1)它将在{500}之后执行的setInterval的第一个实例排队等待

2)500分钟后,它排队{strong}第二个 setInterval实例并执行setInterval第一个实例并打印out_k0 。当setTimeout的值仍为k时,它也会在{500}之后排队0

3)在500ms之后,它排队setInterval的第三个实例并执行setInterval的第二个实例并打印out_k1,因为k的值现在是1,但{{1}的第一个实例1}}也会使用setTimeout

执行

等等。