HTTP请求后对象属性返回未定义

时间:2019-01-23 19:09:53

标签: json http get request

我有以下代码,该代码试图获取包含对象的本地JSON文件,并将其返回到变量dataObj

const getRequest = async (url) => {
    try {
        const response = await fetch(url);
        const data = await response.json();
        return data;
    } catch(error) {
        console.log(error);
    }
}
let dataObj = getRequest('http://localhost:5500/testJson.json');
console.log(dataObj);

我的JSON文件如下:

[
    {
        "id": 1,
        "name": "Kenny",
        "upcoming_events": [
             {}
         ]
    }
]

我可以将响应记录到控制台没有问题,但是每当我尝试访问dataObj的属性时,都会返回“ undefined”。

这是控制台日志的片段,用于请求实际返回的内容:

Console log Snippet

我感觉它正在返回一个Promise,而不是JSON文件中指出的实际对象,对吗?但是,我已经做了很多谷歌搜索,并且无法确切地找到我要去哪里。我仍然还是一个业余爱好者,希望有经验的人可以帮助我。

1 个答案:

答案 0 :(得分:0)

更改此:

const dataObj = getRequest('http://localhost:5500/testJson.json');
console.log(dataObj);

收件人:

getRequest('http://localhost:5500/testJson.json')
.then( dataObj => console.log(dataObj));