Javascript SetInterval重新运行函数
我有以下javascript函数:Javascript SetInterval重新运行函数,javascript,Javascript,我有以下javascript函数: function One(){ setInterval(function(){ //piece of code },3000); setInterval(function(){ //piece of code },3000); setInterval(function(){ One(); },3000); } 如您所见,我希望第一段代码在3秒后执行,然后它跳到第二个setInterval并在3秒后运行内部代码,然后它跳到第三个se
function One(){
setInterval(function(){ //piece of code },3000);
setInterval(function(){ //piece of code },3000);
setInterval(function(){ One(); },3000);
}
如您所见,我希望第一段代码在3秒后执行,然后它跳到第二个setInterval并在3秒后运行内部代码,然后它跳到第三个setInterval重新运行整个函数,但它不工作…它运行第一段代码,第二段代码,在第三段,它不重新运行函数,而是继续执行第二段代码。我想您应该改为
setTimeout
setInterval()
将反复调用它,每次调用One()
时,您只希望它调用一次。然后,您可以将它们链接在一起,如下所示:
function One(){
setTimeout(function(){
//piece of code A
setTimeout(function(){
//piece of code B
setTimeout(function(){
One(); //restart
},3000);
},3000);
},3000);
}
我想你应该改为
setTimeout
setInterval()
将反复调用它,每次调用One()
时,您只希望它调用一次。然后,您可以将它们链接在一起,如下所示:
function One(){
setTimeout(function(){
//piece of code A
setTimeout(function(){
//piece of code B
setTimeout(function(){
One(); //restart
},3000);
},3000);
},3000);
}
您可能需要setTimeout,而不是setInterval。这是一个异步问题。使用async.js库中的承诺或同步函数。如果您不小心,回调可能会在代码中造成混乱。您可能需要setTimeout而不是setInterval。这是异步问题。使用async.js库中的承诺或同步函数。如果您不小心,回调可能会在代码中造成混乱。太棒了,就是这样,只是一个小问题,第二个setTimeout调用代码的速度比第一个快…什么意思
调用代码的速度比第一个快
?别担心,我的代码有问题,谢谢lot@PetruLebada当然可以确保将问题标记为已回答,以便看到此问题的其他人知道此问题已回答您的问题。太棒了,就是这样,只是一个小问题,第二个setTimeout调用代码的速度比第一个快…什么意思调用代码的速度比第一个快,谢谢lot@PetruLebada当然可以确保将问题标记为已回答,以便看到此问题的其他人知道此问题已回答您的问题。