参见英文答案 > js async/await return promise 1个
这是功能:
const getUserIP = async () => {
let response = await fetch('https://jsonip.com/');
let json = await response.json();
console.log(json.ip)
return json.ip;
};
在控制台中,按预期记录IP地址.但是,当我将’IP地址’保存到变量时:
const ip = getUserIP();
然后在控制台中输入ip,值显示为:
Promise { <state>: "fulfilled", <value>: "/* my IP here*/" }
我在YouTube上观看了使用相同逻辑/语法的视频,尽管它们使用的是不同的API,但它确实有用.我搜索了Google和SO,但找不到具有相同问题的帖子.
我错过了什么?
谢谢.
解决方法:
Async functions返回Promises,你需要获得如下值:
getUserIP().then(ip => console.log(ip)).catch(err => console.log(err));
或者,您可以将async声明添加到调用函数getUserIP的main函数中:
async function main() {
const ip = await getUserIP();
}
原文地址:https://codeday.me/bug/20190828/1747835.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。