我对 JavaScript 中的 Promise 有点困惑,因为文档说这些用于获取权限和用户位置的函数会返回一个 Promise,而我使用 then()
do 来处理队列中的事情。到目前为止,我明白什么是承诺,但我不知道为什么这不起作用并告诉我这个。整个事情是我需要先获取用户坐标,然后通过坐标获取用户地址。这是我的代码:
const [userLocation, setUserLocation] = useState({});
useEffect(() => {
Location.requestPermissionsAsync().then((permission)=> {
if(permission.granted) {
Location.getCurrentPositionAsync({accuracy: 5}).then((result) => {
setUserLocation(result)
})
.then(() => {
Location.reverseGeocodeAsync({latitude: userLocation.coords.latitude, longitude: userLocation.coords.longitude}).then((arr) => {
console.log(arr)
})
})
}
})
}, [])