原谅我的无知,我对 JavaScript 还不是很好(目前)。我正在尝试从 GitHub 获取公共(public)用户数据并将其显示在我的个人投资组合中。目前我有以下代码:
getData(url) {
return fetch(url);
}
const userData = getData("https://api.github.com/users/userName");
userData
.then((response) => response.json())
.then((response) => console.log(response))
.catch((error) =>
console.log("There was an error fetching the data: " + error)
);
console.log(userData)
我得到的响应是带有用户数据的 JSON,但是当我 console.log(userData)
我得到 Promise { <state>: "pending" }
作为回应。
此外,我可以看到初始响应中有一个 id,但是当我 console.log(userData.id)
我得到 undefined
.
我已经阅读了 GitHub API 文档并观看了一些关于 Promises 的视频,但我似乎无法让我的代码正常工作。
感谢您抽出宝贵时间查看此内容,非常感谢您对此提供的任何帮助!
最佳答案
这是因为 userData 是一个 promise 。如果您尝试使用 async/await(文档可用 here),您将能够同步获取数据。
const getData = async (url) => {
try {
const data = await fetch("https://api.github.com/users/:user_name");
console.log(data.json());
return data;
} catch (e) {
console.log("There was an error fetching the data: " + error)
}
}
关于javascript - 使用 Fetch 返回 GitHub 用户数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53974136/