如何在javascript中获得回调变量

How can get variable in callback in javascript

本文关键字:回调 变量 javascript      更新时间:2023-09-26
var addComp;
function geocodeSearch(pt){
        gc.getLocation(pt, function(rs){
          var addComp = rs.addressComponents;
                         });
                      }
geocodeSearch(point[i]);
console.log(addComp);

如何获得addComp?我试过了,但一无所获。我的意思是它最好返回'addComp'

当您试图记录变量addComp时,它已经超出了范围。

可以全局定义

var addComp;
function geocodeSearch(pt) {
    gc.getLocation(pt, function(rs) {
        var addComp = rs.addressComponents;
    });
}
console.log(addComp);

或者你可以移动到内部函数

function geocodeSearch(pt) {
    gc.getLocation(pt, function(rs) {
        var addComp = rs.addressComponents;
        console.log(addComp);
    });
}

如果你真的要这样实现它,你可以:

var globalAddComp;
function geocodeSearch(pt){
        gc.getLocation(pt, function(rs){
          globalAddComp = rs.addressComponents;
                         });
                      }
console.log(globalAddComp);

在函数外部定义addComp,使其成为全局变量。试试这个:

var addcomp;
function geocodeSearch(pt){
        gc.getLocation(pt, function(rs){
          addComp = rs.addressComponents;
                         });
                      }
console.log(addComp);

试试这个

function geocodeSearch(pt){
  gc.getLocation(pt, function(rs){
    var addComp = rs.addressComponents;
    console.log(addComp);
  });
}