[英]Returning a value of callback function?
我在使用函數回調時遇到了一些麻煩,特別是HTML5地理定位API。 我也是Js的新手。 功能:
function getInfo()
{
navigator.geolocation.getCurrentPosition(getPos);
}
獲取一個函數的回調參數,該函數獲取傳遞給它的位置。
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;
}
};
function printStuff()
{
getInfo();
console.log(PositionObj.returnLat());
}
編輯:語法錯誤修復。 當我調用printStuff()時,我仍然得到“null”。
getPos
而不是立即調用該函數。 PositionObj
聲明屬性。 PositionObj = {
lat: null,
lon: null,
}
您的PositionObj
文字不正確。 初始屬性應使用冒號設置:
{ lat: '', lon: '' }
回調應告訴您獲取位置信息的請求是異步的。 這意味着getInfo()
不會立即設置值,因此以下行不能訪問“新”值。
任何依賴於異步函數結果的東西都必須在回調本身內。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.