javascript - 从承诺中提取价值
问题描述
我正在尝试从 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)})
然后将对象正确保存到控制台。
解决方案
推荐阅读
- elixir - 如何确保一个函数不能被调用两次?
- ios - CloudKit 服务器将推送通知发送到最大值。500 台设备
- java - 如何使我的基于堆栈的计算器成功打印几个连续相加的数字的波兰符号?
- cmake - 强制 CMake 使用绝对包含路径
- javascript - 如何删除三个 js 中的剪裁平面?
- python - 操作列表中、列表中、列表中的每个项目(字符串)
- plugins - Facebook 客户聊天插件问题
- java - 如何使用 Maven、Tycho 和 Jython 构建 Eclipse 插件?
- android - 通知声音不会停止android
- ms-access - VB6 和 MS Access,如果用户为真,则保存时间和日期