【发布时间】:2021-10-09 09:07:15
【问题描述】:
export const state = {
lat: "",
lng: "",
};
// Setting the map
//gets lat and lng and from the browser.
export const addHandlerSetPosition = async function (handler) {
await navigator.geolocation.getCurrentPosition(function (pos) {
state.lng = pos.coords.longitude;
state.lat = pos.coords.latitude;
handler(state.lng, state.lat);
});
console.log(state);
};
我想知道为什么 console.log 的输出是分配新值之前的状态对象,尽管我使用 async/await 来确保 console.log 是在更改对象值之后
【问题讨论】:
-
因为
navigator.geolocation.getCurrentPosition不返回承诺,所以您的 await 立即解决,无需等待内部回调。
标签: javascript asynchronous async-await