gpt4 book ai didi

javascript - 具有相同间隔的多个setTimeout()函数的执行顺序

转载 作者:行者123 更新时间:2023-12-03 00:07:54 24 4
gpt4 key购买 nike

考虑以下 Javascript 代码:

function(){
setTimeout(function() {
$("#output").append(" one ");
}, 1000);
setTimeout(function() {
$("#output").append(" two ");
}, 1000);
}

您还可以在 jsfiddle 上看到此示例。

我能否确定#output 的值始终为“一二”(按此顺序)?通常,我会这样处理这个问题:

function(){
setTimeout(function() {
$("#output").append(" one ");
$("#output").append(" two ");
}, 1000));
}

但我不能这样做,因为我从服务器收到消息,告诉我要执行哪个函数(在本例中附加 "one" 或附加 "two"),我必须稍微延迟执行它。

我已经在 Internet Explorer 9、Firefox 14、Chrome 20 和 Opera 12 中测试了这段代码,输出始终是“一二”,但我可以确定这将始终是案例?

最佳答案

规范为here .

我对第 7.3 节中的 setTimeout 步骤 8 的解释是执行顺序应该得到保证。

但是,我调查了这个问题,因为当窗口在 Chrome 中最小化然后最大化时,我发现来自外部源(如 websockets 或 webworkers)的事件中设置的超时是以错误的顺序执行的。我认为这是一个浏览器错误,希望很快就能修复。

关于javascript - 具有相同间隔的多个setTimeout()函数的执行顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11771558/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com