我想編寫一個函數,它可以從node.js中的google places API返回數據。該功能定義如下所示:如何在node.js中使用promise函數的返回值
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);
});
});
}
我想使用該函數並獲取返回值。我曾嘗試用下面的代碼,但我得到的錯誤「無極掛起」
const address = getAddress('someName').then(address => {
phone: address.formatted_phone_number
}).catch(err => {
console.error(err)
})
那麼,如何構造函數,所以它返回的數據?
回報的決心(yourData)應該讓你的。那麼函數可用 – yBrodsky
我可以在函數。然後將數據的工作數據,但我要求函數在調用時返回一個值 – john
該函數只能返回promise,而不是數據。當函數返回時數據不可用。 – jfriend00