Javascript:如何将提取的返回值存储到全局变量中?

问题描述

我正在尝试从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 (将#修改为@)