相关疑难解决方法(0)

如何从嵌套的匿名函数向父函数返回值

我有一个javascript函数,它应该返回一个字符串的地理编码:

    function codeAddress(address) {
    var result = (new google.maps.Geocoder()).geocode( { 'address': address}, function(results, status) {
      if (status == google.maps.GeocoderStatus.OK) {
        return String(results[0].geometry.location.Ya)+','+String(results[0].geometry.location.Za)
      } else {
        return status;
      }
    });
    console.log(result);
    return result
}
Run Code Online (Sandbox Code Playgroud)

但是它返回"未定义".我理解这里的错误,即,因为javascript是异步的,它codeAddress甚至在function(results, status)完全执行之前就从函数返回.但我需要知道这里的解决方案和最佳实践.

javascript asynchronous anonymous-function

5
推荐指数
1
解决办法
8713
查看次数