在setTimeout完成后执行
Execute after setTimeout finished
本文关键字:执行 setTimeout 更新时间:2023-09-26
可能不是很合适的标题,但问题如下。
我有一段代码
var someprogram = function(){
if(stopprocess) return;
//do things
setTimeout(someprogram, 1000);
}
setTimeout(someprogram, 1000);
只要它有效。经过一定次数的迭代,比方说12次,stopperprocess为true,整个过程停止。回来后我想做更多的事情。因此,问题是重写结构的最佳方式是什么?因为我需要超时,但我不知道如何在不使用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);
相关文章:
- setTimeout函数能否在其前面的代码执行之前激发
- 在setTimeout完成后执行
- 为什么 setTimeout(., 0) 不立即执行
- 函数未在 setTimeout 中执行
- JavaScript setTimeout() 不会等待执行
- 当超出范围时,延迟执行脚本Jquery(或SetTimeOut)BUT
- eval和setTimeout之间的差异执行字符串代码
- toString似乎导致setTimeout不总是为toString的变量参数执行函数
- 在setTimeout中执行jQuery成员函数而不关闭的方法
- 只有setTimeout执行函数.JS
- setTimeout在IE中执行得很快
- setTimeout()/setInterval()赢得't执行**我正在传递函数对象,而不是执行函数
- nodejs:setImmediate 回调在 setTimeout(fn, 0) 之后执行,与 nodejs 文档描述
- setTimeout 是使用 javascript 执行异步函数的好解决方案吗?
- 我尝试在 1 秒后调用 .hide()(使用 setTimeout),但它是直接执行的,为什么
- 为什么不执行嵌套 setTimeout 中的 removeAttribute 调用
- 如果条件更改,请不要执行 setTimeout
- 在进入下一个循环迭代之前执行setTImeout操作
- 过早执行setTimeout
- 不断执行setTimeout后的setInterval