繁体   English   中英

如何在Javascript中的异步函数内部分配全局变量?

[英]How to assign global variable inside of an asynchronous function in Javascript?

控制台记录lat会返回undefined ,而我想为其分配position.coords.latitude的值。 问题是什么?

 $(document).ready(function(){ var lat, lon; if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(function(position) { lat=position.coords.latitude; lon=position.coords.longitude; }); console.log(lat); } }); 

您无法登录那里,您必须需要回调函数才能实现目标

<script>
  var x = document.getElementById("demo");
  function getLocation() {
    if (navigator.geolocation) {
      navigator.geolocation.getCurrentPosition(showPosition);
    } else {
      x.innerHTML = "Geolocation is not supported by this browser.";
   }
 }
function showPosition(position) {
  console.log("Latitude: " + position.coords.latitude +" Longitude: "          + position.coords.longitude)
  x.innerHTML = "Latitude: " + position.coords.latitude + 
  "<br>Longitude: " + position.coords.longitude; 
}
</script>

使用回调函数$(document).ready(function(){var lat,lon;

  if (navigator.geolocation) {
     navigator.geolocation.getCurrentPosition(function(position) {
        lat=position.coords.latitude;
        lon=position.coords.longitude;
        callbackFunction();
     });
   }

   function callbackFuncton(){
      console.log(lat);
      //you can use your lat and lon here
   }
});    

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM