gpt4 book ai didi

javascript - 浏览器在收到响应时会导致 JS 中断吗?

转载 作者:行者123 更新时间:2023-11-30 23:45:13 25 4
gpt4 key购买 nike

假设,无论出于何种原因,我们在一个页面上有三个内联脚本。这些脚本中的每一个在功能上都是相同的,并且所有三个脚本都会创建一个脚本标记,并将源设置为服务器端脚本(每个脚本的参数略有不同),该脚本返回要执行的 JS。假设这个 JS 包含一个全局变量,其中包含它最后调用的函数的重要参数。

var g_important = {"arbitrary1":"someval1", "arbitrary2":"someval2"};
doSomething();

相关脚本驻留在带有负载均衡器的 CDN 上。假设来 self 们原始 JS 的每个请求实际上都可以发送到不同的服务器。服务器的响应时间现在是可变的,这意味着我们可能首先得到对第二个请求的响应。这不是问题,因为我们随代码一起发送回引用值,确保我们至少正在处理指定的对象。

我的问题是:当我们大致同时收到两个回复时会发生什么?这是一种非常不可能的情况,但是如果当第二个响应到来时第一个响应正在执行 doSomething() 过程中,浏览器会做什么?它是否解析变量的值并将第二个 doSomething 调用插入堆栈?

假设情况确实如此,理论上 doSomething 可能会使用错误的值集。理论上。我无法重现这个案例,因为时机必须绝对完美,但我需要知道这是否是一个问题。

最佳答案

Javascript“一次一行”运行。如果另一个脚本正在运行,脚本将始终被堆叠。

从技术上讲,2 个脚本无法同时加载,因此 1 个脚本将先于另一个脚本执行。

关于javascript - 浏览器在收到响应时会导致 JS 中断吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3247704/

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