繁体   English   中英

setTimeout完成后执行

[英]Execute after setTimeout finished

标题可能不太合适,但问题如下。

我有这段代码

var someprogram = function(){ if(stopprocess) return; //do things setTimeout(someprogram, 1000); } setTimeout(someprogram, 1000);

Sofar它有效。 经过几次迭代后,假设12,stopprocess为true,整个过程停止。 我想在回来后再做些事情。 所以问题是重写结构的最佳方法是什么? 因为我需要超时,但是我不知道如何在不使用返回语句的情况下停止整个操作。 有任何想法吗? (我只有一个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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM