我正在尝试从函数接收一系列结果,如下所示:
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()
中声明的结果数组?
谢谢, 芽
答案 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;
看看我在代码段中标记的行。在第1行中,您将记录geocoder.geocode
的回调结果,而在第2行中,您正在记录上面刚刚声明的空数组。 \
此外,如果您假设它包含结果,您最好为其分配返回值。像
这样的东西
getSearchLocation(){
let results = [];
geocoder.geocode( { 'address': address}, function(data, status) {
results = data;
console.log("out of scope", results);
});
}
&#13;