在下面的代码中,我试图将从 API 返回的数据作为对象提取到顶级变量。我很好地修改了函数内部的顶级
object
变量,但它的值在函数外部没有改变,并且外部 console.log
打印未定义。我想这也与返回的承诺解决有关。你能解释一下这些步骤吗?提前致谢。
let obj;
let object;
function deriveVariable(obj) {
object = obj;
console.log(object); // THIS PRINTS SECOND AND WORKS
}
console.log(object); // THIS PRINTS FIRST AND PRINTS UNDEFINED
fetch("https://swapi.dev/api/people/1")
.then((response) => {
return response.json();
})
.then((data) => {
obj = data;
})
.then(() => {
deriveVariable(obj);
});