我有以下循环:
for (let i = 0; i < data.numChanges; i++) {
console.log("Try numebr #" + i);
this.enemy.image = 'images/items/glasses/glasses.png;
//Wait 2 seconds, and show this image:
this.enemy.image = oldImage;
//Wait 1 second before processing to the next loop item
}
我需要在评论所在的位置放置哪些代码(请参阅上面的代码)才能使应用程序等待&#34;在执行给定的代码行之前?
这就是我需要做的事情:
答案 0 :(得分:14)
我认为这是你正在寻找的东西:
for (let i = 0; i < data.numChanges; i++) {
console.log("Try number #" + i);
this.enemy.image = 'images/items/glasses/glasses.png';
// Wait 2 seconds, and show this image:
setTimeout(() => this.enemy.image = oldImage, 2000);
setTimeout(() => ...some code, 1000)
}
基本上,您将代码包装在setTimeout(() => ..some code, 2000)
中。 2000
是以ms为单位的等待时间,因此2000ms == 2s。
答案 1 :(得分:0)
我不确定您要达到的目标,但是我将使用一个状态和一个setInterval:
var nbiter=data.numChanges;
var state=0;
var anenemy=this.enemy;
var interF = setInterval(function(){
switch(state){
case 0:
anenemy.image='images/items/glasses/glasses.png';
state++;
break;
case 1:
state++;
break;
case 2:
anenemy.image=oldimage;
if(--nbiter==0)
clearInterval(interF);
state=0;
break;
}
},1000);