Ilj*_*lja 2 javascript execution settimeout
我需要以固定的时间间隔一个接一个地执行多个函数,因此使用setTimeout.我想确保我理解它是如何执行的.我有以下逻辑:
setTimeout(function() {
//Execute first function
}, 200);
setTimeout(function() {
//Execute second function
}, 400);
setTimeout(function() {
//Execute third function
}, 600);
Run Code Online (Sandbox Code Playgroud)
这是否意味着第一个函数在200ms之后执行,第二个函数在第一个函数执行后200ms,第三个函数在第二个函数之后200ms执行,依此类推?或者我需要改变一些东西.
这是否意味着第一个功能在200ms后执行,第二个功能在第一个200ms后执行,第二个功能在第二个200ms后执行,依此类推?
基本上,是的,这就是它的含义.但请记住,规范只保证延迟参数是必须等待的最短时间,并且浏览器有时可以并且确实对这些调用进行限制 - 特别是如果选项卡未激活:
注意:此API不保证计时器将按计划完全启动.由于CPU负载,其他任务等导致的延迟是预期的.
和:
- (可选)等待另一个用户代理定义的时间长度.
注意:这旨在允许用户代理根据需要填充超时,以优化设备的电源使用.例如,一些处理器具有低功耗模式,其中定时器的粒度减小; 在这样的平台上,用户代理可以减慢定时器以适应该调度,而不是要求处理器使用更准确的模式及其相关的更高功率使用.
此外,如果您的任何功能需要花费相当多的时间来运行,则一个功能结束和下一个启动之间的延迟可能不是200毫秒 - 它可能会更少.
| 归档时间: |
|
| 查看次数: |
518 次 |
| 最近记录: |