gpt4 book ai didi

javascript - setTimeout和同步

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

有代码:

<script type="text/javascript" src="script.js"></script>
<script type="text/javascript" src="script2.js"></script>

脚本.js:

setTimeout(function(){
console.log("first");
}, 15);

script2.js:

setTimeout(function(){
console.log("second");
}, 10);

运行时我得到了不同的结果。一次输出为:

second
first

但是另一次:

first
second

由于给定的时间延迟,它不应该始终处于“第二,第一”顺序吗?

最佳答案

你有一个简单的竞争条件。

规范保证脚本文件按顺序运行。这意味着浏览器可以同时尝试下载文件,但即使 script2.js 在 script.js 之前加载,script.js 也会先运行。

但是,如果 script.js 加载速度很快并在 script2.js 仍在从服务器下载时执行,则有可能在 script2.js 执行之前至少要经过 5 毫秒。如果发生这种情况,script.js 中的超时将首先执行,输出将为 first, secondary

关于javascript - setTimeout和同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34741328/

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