我正在寻找一种方法来强制我的javascript应用程序在执行更多代码之前先等待coordiantes。我想要以下命令或类似的东西是同步的而不是异步的。
navigator.geolocation.getCurrentPosition(getGPSCoordinates);
我知道我可以将代码放在回调函数中,但这是唯一的方法吗?我没有办法等待它完成然后做出决定吗?
我没有办法等待它完成然后做出决定吗?
不建议将其转换为同步操作,因为它将在请求期间冻结UI。
解决的办法之一,以等待对asynchronous
函数完成了它是实现一个callback
功能。
function getLocation(callback) {
if (navigator.geolocation) {
var lat_lng = navigator.geolocation.getCurrentPosition(function(position){
var user_position = {};
user_position.lat = position.coords.latitude;
user_position.lng = position.coords.longitude;
callback(user_position);
});
} else {
alert("Geolocation is not supported by this browser.");
}
}
getLocation(function(lat_lng){
console.log(lat_lng);
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句