我对后端nodejs
中的async await
非常熟悉,但遇到了一个情况,需要在前端使用它。
我正在获取对象数组,其中包含地点的lat lng
。现在,使用react-geocode
,我可以获取单个lat lng
的地名,但我希望在map函数中使用它来获取所有地点的名称。由于这是一个async
调用,所以我必须在那里使用async await
。
以下是代码:
import Geocode from "react-geocode";
render = async() => {
const {
phase,
getCompanyUserRidesData
} = this.props
return (
<div>
<tbody>
await Promise.all(_.get(this.props, 'getCompanyUserRidesData', []).map(async(userRides,index) => {
const address = await Geocode.fromLatLng(22.685131,75.873468)
console.log(address.results[0].formatted_address)
return (
<tr key={index}>
<td>
{address.results[0].formatted_address}
</td>
<td>Goa</td>
<td>asdsad</td>
<td>{_.get(userRides,'driverId.email', '')}</td>
<td>{_.get(userRides,'driverId.mobile', '')}</td>
</tr>
)
}))
</tbody>
</div>
)
}
但是当我在这里使用map函数时,如果同时使用async关键字,它不会返回任何结果。请问有人可以帮助我找出问题所在吗?
render
函数将 UI 渲染到浏览器上,因此这不是您想进行异步调用的地方。 - Agney