反应本机设置/访问函数内的变量

时间:2017-07-05 21:23:02

标签: javascript react-native scope

我试图将变量lat和lng设置为地理编码器返回的坐标。我认为lat和lng可以从地理编码器代码中访问,它代表Geocoder.getFromLocation(inputWhere).then(...),但除此之外,它似乎没有将变量设置为地理编码器的坐标。我错过了关于变量范围的一些内容吗?我已经评论了警报返回的内容。我已经测试过地理编码器工作正常,并且" 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

}

1 个答案:

答案 0 :(得分:1)

Geocoder.getFromLocation()需要时间。

你需要等到它完成