gpt4 book ai didi

javascript - 为什么这段 JavaScript 从未被执行过?

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

我有以下 JavaScript。我希望它做的是等待 getJSON 返回(其中设置了标志),然后执行某些操作。然而,在找到下面的 check 函数之后,即使 flag 为 true,我实际上也无法让它记录 loaded (所以processData 永远不会执行)。我做错了什么?

        flag = false
$.getJSON(<url>,
function(params){
if (params){
flag = true;
}
}
);
var check = function() {
console.log("check A");

if (flag === false) {
console.log('still going to check');
return setTimeout(200, check);
}
console.log("loaded!");
processData();
}
check();

最佳答案

您需要 setTimeout(check, 200); 而不是 setTimeout(200, check);。在运行该函数之前,您还必须显式地将 flag 设置为 false。

但是,您可以选择:

    $.getJSON(<url>,
function(params){
if (params){
check();
}
}
);
var check = function() {
console.log("check A");
console.log("loaded!");
processData();
}

关于javascript - 为什么这段 JavaScript 从未被执行过?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31274739/

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