这是函数:
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,但找不到有相同问题的线程。
我缺少什么?
Thanks.
异步函数 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function#Return_value返回 Promises,您需要按如下方式获取该值:
getUserIP().then(ip => console.log(ip)).catch(err => console.log(err));
或者,您可以添加async
向调用该函数的主函数声明getUserIP
:
async function main() {
const ip = await getUserIP();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)