如何在JavaScript中访问Promise的[[PromiseResult]]值?代码求助
问题解决:访问Promise返回的实际数据
你的代码里,data.json()方法本身会返回一个Promise,直接赋值给res时,拿到的还是未完成解析的Promise对象,这就是控制台显示状态为fulfilled但看不到实际数据的原因。
只需要给data.json()加上await关键字,等待它解析完成,就能拿到[[PromiseResult]]里的实际JSON数据:
const getWeather = async () => { const data = await fetch(`https://api.openweathermap.org/data/2.5/weather?q=London&appid=3128c60d19195ca88d4f09de900eacd2`) const res = await data.json(); // 这里加上await console.log(res); // 现在打印的就是实际的天气数据对象 // 可以直接访问具体字段,比如: console.log("城市名称:", res.name); console.log("当前温度:", res.main.temp); }
修改后,res就会是你在控制台[[PromiseResult]]里看到的那个Object,直接通过点语法就能访问里面的各个属性。
内容的提问来源于stack exchange,提问作者SHAILY
相关产品推荐
相关产品推荐

