gpt4 book ai didi

javascript - 这个javascript中有竞争条件吗?

转载 作者:行者123 更新时间:2023-11-28 01:36:34 24 4
gpt4 key购买 nike

在下面的js片段中

request = new XMLHttpRequest
request.open('GET', '/my/url', true)
request.send()

request.onload = function() {
data = JSON.parse(this.response)
}

加载的分配应该在send()之前,以避免竞争条件。或者浏览器是否为您处理它(通过在您有时间分配它时触发加载)。

最佳答案

您的请求应该类似于:

var request = new XMLHttpRequest || new ActiveXObject('Microsoft.XMLHTTP');
request.open('GET', '/my/url');
request.onreadystatechange = function(){
if(request.readyState == 4 && request.status == 200){
console.log(request.responseText);
}
}
request.send();

要进一步回答您的问题,request.send() 应该最后发生,因为如果响应在函数分配给 request.onreadystatechange 之前返回,则可能会出现这是一个问题,尽管响应不太可能那么快。

关于javascript - 这个javascript中有竞争条件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21470662/

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