【发布时间】:2019-06-11 12:15:17
【问题描述】:
一段时间以来,我一直在尝试从 JSON 列表返回 URL。我尝试过使用各种方法,但我似乎无法让它工作...... 我想知道如何返回一个值。我还没有真正用 JavaScript 做太多实验,所以我想我已经有了这个……
这里是代码:
async function getGithubPicture(username, callback) {
let data = await fetch('https://api.github.com/users/' + username);
let main = await data.json().then((data) => {
return data.avatar_url.toString();
});
return main;
}
document.getElementById('pfp').src = getGithubPicture('harryuk');
所以我希望 getGithubpicture 从与用户名 harryuk 对应的 JSON 文件中返回一个字符串,但返回的是 [object promise],我知道它运行正常,但我想以不同的方式运行它方式,这就是我的块所在的地方
【问题讨论】:
-
尝试拆分你的命令。让 main = 等待 data.json(); main= main.avatar_url.toString();
-
谢谢,现在代码看起来更整洁了。我原来的问题仍然存在。
-
您的问题是变量 main 得到了一个在返回时未评估的承诺。我不明白为什么这不起作用。
标签: javascript asynchronous ecmascript-6 promise