Javascript setTimeout完成后执行
可能不是很合适的标题,但问题如下 我有这段代码Javascript setTimeout完成后执行,javascript,jquery,loops,Javascript,Jquery,Loops,可能不是很合适的标题,但问题如下 我有这段代码 var someprogram=function(){ if(stopprocess)返回; //做事 setTimeout(someprogram,1000); } setTimeout(someprogram,1000) 到目前为止,一切正常。经过一定次数的迭代,比如说12次,stopprocess为真,整个过程停止。回来后我想做更多的事情。所以问题是,重写structute的最佳方法是什么?因为我需要超时,但我不知道如何在不使用return语
var someprogram=function(){
if(stopprocess)返回;
//做事
setTimeout(someprogram,1000);
}
setTimeout(someprogram,1000)代码>
到目前为止,一切正常。经过一定次数的迭代,比如说12次,stopprocess为真,整个过程停止。回来后我想做更多的事情。所以问题是,重写structute的最佳方法是什么?因为我需要超时,但我不知道如何在不使用return语句的情况下停止整个过程。有什么想法吗?(这个任务我只有一个javascript文件)有很多方法可以做到这一点,简单的方法是将所有逻辑写入函数并执行它
var logic = function(){
//do things
}
并在返回前执行它
var someprogram = function(){
if(stopprocess){
logic(); // your code is executed now
return;
}
setTimeout(someprogram, 1000);
}
setTimeout(someprogram, 1000);
也许这一款适合你:
var someprogram = function() {
if(stopprocess) {
//do the rest
} else {
//do things
setTimeout(someprogram, 1000);
}
}
setTimeout(someprogram, 1000);
回调函数作为参数还是只执行简单函数?@user4065758我代表您做+1,但我认为这是Trinimon答案的副本