<分区>
我想编写一个函数,从 node.js 中的 google places API 返回数据。该函数定义如下:
function getAddress(placeName) {
return new Promise((resolve, reject) => {
return axios.get('https://maps.googleapis.com/maps/api/geocode/json?address=' + placeName + '&key=MyAPIKey').then(response => {
const placeID = response.data.results[0].place_id
return axios.get('https://maps.googleapis.com/maps/api/place/details/json?placeid=' + placeID + '&key=MyAPIKey').then(response => {
resolve(response.data.result)
return response.data.result // here i would like to return the data.result
}).catch(err => {
console.error(err);
});
}).catch(err => {
reject(err);
});
});
}
我想使用这个函数并得到一个返回值。我已尝试使用下面的代码,但出现错误“Promise pending”
const address = getAddress('someName').then(address => {
phone: address.formatted_phone_number
}).catch(err => {
console.error(err)
})
那么我该如何构造函数,让它返回数据呢?