问题描述
我正在尝试从API提取数据,我有一个提取数据的函数,以及另一个将全局变量设置为fetch函数的返回值并将其记录到控制台的函数。这在我使用异步功能并等待时起作用。但是,在调用设置了全局变量的函数之后,我尝试在函数外部访问该全局变量,它会返回未定义的值,并且会在函数内部的console.log()之前返回。我知道javascript是异步的,并且不是全部顺序的,但是如何在我的代码中解决这个问题?
//testurl declared above
let data;
async function fetchData() {
try {
const response = await fetch(testUrl);
const json = await response.json();
const arr = await json.results;
return arr;
} catch (error) {
console.error(error);
}
}
async function setData() {
data = await fetchData();
console.log(data); //the actual data i want
}
setData();
console.log(data); //undefined
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)