【问题标题】:React native setting/accessing a variable inside a function反应本机设置/访问函数内的变量
【发布时间】:2017-07-05 21:23:02
【问题描述】:

我正在尝试将变量 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

}

【问题讨论】:

    标签: javascript react-native scope


    【解决方案1】:

    Geocoder.getFromLocation() 需要时间。

    你需要等到它完成

    【讨论】:

    • 你是怎么做到的?我的意思是,它附有一个.then
    • 这就是为什么你在 2 中得到 40。alert。但是第三和第四个alert.then 之外。它们立即发生。他们不等待.then
    • 啊,是的,很有意义。格拉西亚斯
    猜你喜欢
    • 2021-01-06
    • 2010-12-16
    • 2021-08-18
    • 2015-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-02
    相关资源
    最近更新 更多