【发布时间】:2015-12-26 12:49:54
【问题描述】:
我正在尝试创建一个简单的函数来根据浏览器返回用户位置,但它一直返回未定义:
function getLocation() {
//get current location
var geo_param;
if(navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
// Create geolocation parameter
geo_param = "geolocation=[" + position.coords.latitude + "," + position.coords.longitude + "]";
console.log(geo_param)
});
}
return geo_param
}
function search(activity) {
var searchUrl = "/s?activity=" + activity + "&" + getLocation()
window.location.href = searchUrl;
console.info(searchUrl)
}
【问题讨论】:
-
如果
getCurrentPostion是异步的,你会得到未定义的返回。 -
如果
getCurrentPosition是异步的,那么函数将返回geo_param BEFORE getCurrentPosition中的回调被调用
标签: javascript jquery return