如何在JavaScript中顺序执行while循环中的setTimeout?
如何使以下循环在顺序执行时变得简单如何在JavaScript中顺序执行while循环中的setTimeout?,javascript,Javascript,如何使以下循环在顺序执行时变得简单 var x = 2; var y = 10; while (x<y) { x = x+2; setTimeout(function(){ y = y+1; }, 500); } var x=2; 变量y=10; 而(x使用 setTimeout在超时时执行函数一次。setInterval在超时时重复执行函数 要停止间歇,请使用 例如: var x = 2, y = 10; var loop = setInterval(functi
var x = 2;
var y = 10;
while (x<y) {
x = x+2;
setTimeout(function(){ y = y+1;
}, 500);
}
var x=2;
变量y=10;
而(x使用
setTimeout
在超时时执行函数一次。setInterval
在超时时重复执行函数
要停止间歇,请使用
例如:
var x = 2,
y = 10;
var loop = setInterval(function(){
if(x<y) {
x = x+2;
y++;
} else {
clearInterval(loop);
}
}, 500);
var x=2,
y=10;
var loop=setInterval(函数(){
如果(x如果您希望在每次迭代中执行x=x+2;y=y+1;
,直到x>=y
,那么您可以执行以下操作:
var x=2;
变量y=10;
var func=函数(){
//而x仍然比y小
if(x func()
您能解释一下setInterval和setTimeout之间的区别吗?那么当x@Makudex我添加了差异。@tom.denka我更新了代码以使用clearInterval停止循环。@nuttyaboutnatty问题代码不起作用,因为所有设置超时都是同时启动的。while循环不会等到l在开始第二次迭代之前执行第一次setTiemeout。它在所有迭代上循环,并在之后开始setTimeout。您希望在每次迭代中x=x+2
和y=y+1
?还是希望首先将x
添加到10
中,然后使用相同的x=x+2
?