首页 > 解决方案 > 从承诺中提取价值

问题描述

我正在尝试从 fetch 调用返回的 Promise 中提取信息。我似乎无法做到这一点。要么我得到一个Promise,要么我undefined得到另一个 Promise,而不是 Promise 本身的实际内容。例如:

     async function fetchCoordinates(pluscode) {
       let response = await fetch(url.replace("${pluscode}", pluscode));
       return await response.json();
     }
     
     function getCoordinates(pluscode) {
       let geoinfo;
       fetchCoordinates(pluscode).then(info => {geoinfo = info})
       return geoinfo
     }
   
     geoinfo = getCoordinates("{{ place.pluscode }}");

评估时,geoinfo 是undefined(而不是对象)。但是,如果我更改此行:

fetchCoordinates(pluscode).then(info => {geoinfo = info})

至:

fetchCoordinates(pluscode).then(info => {console.log(info)})

然后将对象正确保存到控制台。

标签: javascriptpromisefetch

解决方案


推荐阅读