我想返回“ currentLoc”。不幸的是,它对我不起作用。
如何通过我的代码分配回调函数的结果以重用它。
function currentLocation() {
var options = {
enableHighAccuracy: true,
timeout: 5000,
maximumAge: 0
};
function success(pos) {
var crd = pos.coords;
console.log(`Latitude : ${crd.latitude}`);
console.log(`Longitude: ${crd.longitude}`);
currentLoc = new google.maps.LatLng( crd.latitude, crd.longitude);
};
function error(err) {
///ERROR
};
if ( navigator.geolocation)
navigator.geolocation.getCurrentPosition(success, error, options);
return currentLoc;
}
最佳答案
因为回调是异步发生的,所以您的return
语句发生在success
甚至没有运行之前。
一种选择是让您的主要currentLocation
函数进行回调,并使用success
内部的值进行调用。
关于javascript - 如何获取成功回调函数结果的赋值给变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43726189/