如何在不丢失值的情况下从异步函数设置对象的属性?另一个 SO 线程上的某个人说,与此函数有关的任何内容都应保留在函数内部。但是,我想从中分配值,并将其分配给一个对象。我对 OOP Js 有点陌生,所以这让我很困惑。
我有这个功能可以获取用户的位置。这个 HTML5 函数需要一个回调来传递一个位置对象。
function getInfo()
{
navigator.geolocation.getCurrentPosition(getPos);
}
这是在 getCurrentPosition() 中引用的函数。
function getPos(position)
{
PositionObj.lat = position.coords.latitude;
PositionObj.lon = position.coords.longitude;
}
位置对象:
var PositionObj =
{
lat:null,
lon:null,
returnLat: function()
{
return this.lat;
},
returnLon: function()
{
return this.lon;
}
};
当我尝试访问 PositionObj 的属性时,我得到 null,而不是回调分配的新值。我该怎么做呢?我已经尝试过将回调作为对象本身,并将值传递给另一个为对象分配值的函数。任何帮助,将不胜感激!