仅在范围内获取结果数组,而不是在范围之外

时间:2018-04-23 13:06:41

标签: javascript

我正在尝试从函数接收一系列结果,如下所示:

getSearchLocation(){
    let results = [];
    geocoder.geocode( { 'address': address}, function(results, status) {
        console.log("in scope", results);
        return results;
    });
console.log("out of scope", results);
}

“in scope”结果返回数组应该是。

“超出范围”结果返回一个长度:0空数组。

如果我从results返回geocoder.geocode()数组,是不是应该将它分配给getSearchLocation()中声明的结果数组?

谢谢, 芽

1 个答案:

答案 0 :(得分:0)



getSearchLocation(){
    let results = [];
    geocoder.geocode( { 'address': address}, function(results, status) {
        console.log("in scope", results); <== Line 1
         
    });
console.log("out of scope", results); <== Lin 2
}
&#13;
&#13;
&#13;

看看我在代码段中标记的行。在第1行中,您将记录geocoder.geocode的回调结果,而在第2行中,您正在记录上面刚刚声明的空数组。 \

此外,如果您假设它包含结果,您最好为其分配返回值。像

这样的东西

&#13;
&#13;
getSearchLocation(){
    let results = [];
    geocoder.geocode( { 'address': address}, function(data, status) {
        results = data;
        console.log("out of scope", results);
        
    });

}
&#13;
&#13;
&#13;