JS调用fetch接口有返回数据,控制台打印结果为undefined如何解决?
问题原因
fetch返回的响应对象的json()方法本身是异步方法,会返回Promise实例,必须用await等待其完成JSON解析,才能拿到接口返回的实际数据体- 原代码中直接对未完成状态的Promise对象解构
results属性,Promise实例本身没有这个属性,所以得到undefined
修正后的代码
const getFakePerson = async () => { let res = await fetch("https://api.randomuser.me/?nat=US&results=1"); // 新增await等待JSON解析完成后再解构属性 let { results } = await res.json(); console.log(results); } getFakePerson();
内容的提问来源于stack exchange,提问作者Shree Ram Sharma
相关产品推荐
相关产品推荐

