gpt4 book ai didi

javascript - 代码执行是否等待Ajax响应?

转载 作者:行者123 更新时间:2023-11-28 15:59:07 25 4
gpt4 key购买 nike

基本上我有

correctData = false//global variable
function calledFirst()
{
xmlhttp.onreadystatechange=function()
{
if(xmlhttp.readyState == 4 && xmlhttp.status == 200)
{

proceedDiv.innerHTML = xmlhttp.responseText
if(xmlhttp.responseText == "You may continue.")
correctData = true
else
correctData = false
}
}
xmlhttp.open("GET", "process.php?proposed="+encodeURIComponent(mon2),true);
xmlhttp.send()
calledSecond()
}
function calledSecond()
{
if(!correctData)
{
//uh-oh

看起来 usedSecond() 在 Ajax 响应完成之前被调用,这是一个问题,因为 CorrectData 的值取决于 Ajax 响应,而 calleSecond 使用它。我该如何解决这个问题?

更新:每个人都是对的,如果我将函数调用放在回调部分,它就会起作用,但为什么它会起作用?您只是让我相信它不起作用,因为 Ajax 是异步的,因此其余代码不会等待 Ajax 完成,那么为什么要将其移至回调部分来修复此问题?

最佳答案

这就是 AJAX 是异步的原因。编译器不会等待 AJAX 调用完成,就会编译页面的其余部分。

如果你希望第二次调用 CalledSecond(),你必须将其放入回调函数中。

关于javascript - 代码执行是否等待Ajax响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17602550/

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