似乎是在这些主题jQuery getJSON save result into variable和Variables set during $.getJSON function only accessible within function中发布的相同问题。但是,在将解决方案应用于它们之后,它无法工作。
即,
var a = "";
$.getJSON(url, callbackFuncWithData);
function callbackFuncWithData(data) {
a = "something";
}
console.log(a); // the output is ""
和
var a = "";
$.ajax({
Type: "GET",
url: url,
async: false,
dataType: "json",
success: function(data) {
a = "something";
}
});
console.log(a); // output ""
这是来自FreeCodeCamp的挑战,如果你想查看代码https://codepen.io/MonikaDiao/pen/xjYwJV,这是我的笔。我设法通过在getJSON
函数中执行所有操作来使其工作。但是该函数在forEach
循环内调用。最好在循环外设置最终html
。我只是想弄清楚为什么它不能按预期工作。循环是否也引入了同步问题?