在 Google 地图地理编码 API 中使用异步等待时遇到问题

Having trouble using async await with Google Maps Geocode API

我正在使用 Google 地图地理编码 API 并尝试使用异步等待。我已经定义了几个函数来处理请求:

function googleGeoCode(address) {
  const googleMapsClient = require('@google/maps').createClient({
    key: 'googleMapsApiKeyGoesHere',
    Promise: Promise
  });

  return googleMapsClient.geocode({ address: address }).asPromise();
}

async function getGeoCode(address, errors, res) {
  try {
    const result = await googleGeoCode(address);
    return result;
  } catch (error) {
    errors.googleMapsClient = error;
    return res.status(400).json(errors);
  }
}

然后我在我的快速路线中使用 getGeoCode 函数:

const geoResponse = getGeoCode(req.body.address, errors, res);

函数的等待部分无法正常工作。如果我控制台日志 geoResponse 我得到 Promise { <pending> }

我是 async await 的新手,我不确定我在这里做的事情是否不正确。非常感谢任何帮助!

异步函数总是 return 承诺或将 return 值包装到承诺中,你必须像这样解决承诺

 const geoResponse = getGeoCode(req.body.address, errors, res);

    geoResponse.then((result)=>{

    console.log(result)
    }).catch((err)=>{
     console.log(err);
    })