Javascript React本机设置/访问函数内的变量

Javascript React本机设置/访问函数内的变量,javascript,react-native,scope,Javascript,React Native,Scope,我试图将变量lat和lng设置为地理编码器返回的坐标。我认为lat和lng可以从geocoder代码内部访问,其中显示geocoder.getFromLocationinputWhere.then…,但除此之外,它似乎没有将变量设置为geocoder的坐标。我是否遗漏了变量范围的某些内容?我已经评论了警报返回的内容。我已经测试过地理编码器工作正常,并且满足了if条件。感谢您的帮助,谢谢 submitData = (inputWhere) => { var lat = 0; var lng

我试图将变量lat和lng设置为地理编码器返回的坐标。我认为lat和lng可以从geocoder代码内部访问,其中显示geocoder.getFromLocationinputWhere.then…,但除此之外,它似乎没有将变量设置为geocoder的坐标。我是否遗漏了变量范围的某些内容?我已经评论了警报返回的内容。我已经测试过地理编码器工作正常,并且满足了if条件。感谢您的帮助,谢谢

submitData = (inputWhere) => {

var lat = 0;
var lng = 0;

if(inputWhere != '') {
  Geocoder.getFromLocation(inputWhere).then(
   json => { 
    var location = json.results[0].geometry.location;
    alert(lat); // Here it says 0
    lat = location.lat; // 40
    lng = location.lng;
    alert(lat); // Here it says 40
   },
   error => {
    alert(error);
   }
 );
 alert(lat); // Here it says 0
}
alert(lat); // Here it says 0

}

Geocoder.getFromLocation需要时间


你需要等到它完成

你怎么做?我的意思是,有一个。然后附加到它上。这就是为什么你在2中得到40。警觉的但是第三和第四次警报不在范围之内。它们马上就会发生。他们不等待。然后啊,是的,很有道理。格雷西亚斯