【发布时间】:2013-08-11 14:27:54
【问题描述】:
假设我们有一个简单的场景,我想在 1 秒后重复输出“Hello”,然后是“World”。我尝试了以下方法:
setInterval(
function() {
console.log("Hello");
setTimeout(
function() {
console.log("World");
},
1000
);
},
1000
);
但这不起作用,在setInterval的第二次交互时console.log同时输出Hello World。
我做错了什么?
【问题讨论】:
-
我认为你应该使用
setTimeout(),而不是setInterval() -
他同时使用这两种方法。使用
setInterval触发的每个事件也会导致使用setTimeout触发的一次性事件。 -
将 setInterval 时间增加到 1100 会发生什么?目前,由于两者都是 1000,因此不能保证哪个会先发生。
-
在这种情况下 setTimer 时间应该是 1100 / 2 = 550
标签: javascript procedural