gpt4 book ai didi

javascript - setTimeout函数依次是0,0,0还要0,1,0怎么办?

转载 作者:行者123 更新时间:2023-12-03 11:30:15 25 4
gpt4 key购买 nike

我刚刚尝试执行下面的代码

 setTimeout(function(){ console.log(1); }, 0);
setTimeout(function(){ console.log(2); }, 0);
setTimeout(function(){ console.log(3); }, 0);

上面的代码按顺序记录了 1、2、3。但是如果我用秒值 0, 1, 1 做同样的事情

setTimeout(function(){ console.log(1); }, 0);
setTimeout(function(){ console.log(2); }, 1);
setTimeout(function(){ console.log(3); }, 0);

上面的代码仍然按顺序记录相同的 1、2、3。在 Chrome 中测试了这一点!

想知道这是否是由于 console.log() 导致的。对此有何意见?

最佳答案

当所述等待时间已经过去时,HTML 标准不要求用户代理严格按照其预期等待时间对排队的计时器事件进行排序。第三次调用 setTimeout、返回原生代码并从事件循环运行第一个 JS 回调很可能需要超过 1 毫秒,因此在重新进入时立即运行第二个回调接下来的事件循环与运行第三个事件循环一样合乎逻辑。

关于javascript - setTimeout函数依次是0,0,0还要0,1,0怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26764399/

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