Ibr*_*him 3 javascript promise fetch-api
这是函数:
const getUserIP = async () => {
let response = await fetch('https://jsonip.com/');
let json = await response.json();
console.log(json.ip)
return json.ip;
};
Run Code Online (Sandbox Code Playgroud)
在控制台中,IP 地址按预期记录。但是,当我将“IP 地址”保存到变量时:
const ip = getUserIP();
Run Code Online (Sandbox Code Playgroud)
然后ip在控制台输入,值显示为:
Promise { <state>: "fulfilled", <value>: "/* my IP here*/" }
Run Code Online (Sandbox Code Playgroud)
我在 YouTube 上观看过视频,这些视频使用了相同的逻辑/语法,尽管 API 不同,但它确实有效。我搜索了 Google 和 SO,但找不到有相同问题的线程。
我缺少什么?
谢谢。
异步函数返回 Promises,您需要按如下方式获取该值:
getUserIP().then(ip => console.log(ip)).catch(err => console.log(err));
Run Code Online (Sandbox Code Playgroud)
或者,您可以将async声明添加到调用该函数的主函数中getUserIP:
async function main() {
const ip = await getUserIP();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5953 次 |
| 最近记录: |