gpt4 book ai didi

javascript:在回调函数中获取变量的值

转载 作者:行者123 更新时间:2023-11-30 17:14:44 27 4
gpt4 key购买 nike

我正在使用 google geocoder,但我似乎找不到在回调函数中设置全局变量值的方法

var status_temp;
var lat_temp;
var lng_temp;
var error_temp;
function set_status(status_input){
status_temp=status_input;
}
function set_lat(lat_input){
lat_temp=lat_input;
}
function set_lng(lng_input){
lng_temp=lng_input;
}
function set_error(error_input){
error_temp=error_input;
}
function geocode_address(address_input){
var status_string;
var error_message;
var lat;
var lng;
geocoder.geocode( { 'address': address_input}, function(results, status){
if (status == google.maps.GeocoderStatus.OK) {
set_status('found');
set_lat(results[0].geometry.location.lat());
set_lng(results[0].geometry.location.lng());
} else {
console.log("Geocode was not successful for the following reason: " + status);
set_status('notfound');
set_status(status);
}
});
console.log(status_temp);
if(status_temp==='found'){
var data = ({
status_string:status_temp,
lat:lat_temp,
lng:lng_temp,
});
}else{
var data = ({
status_string:status_temp,
error_string:error_temp,
});
}
return data;
}

我尝试使用常规方法设置全局变量,即在函数外部声明变量,我最近尝试的方法是使用函数设置变量。我做错了什么?

最佳答案

您需要阅读有关异步 javascript 调用的内容。
您正在尝试使用尚未设置的全局变量。
您的函数不能只返回,它需要使用回调来返回值,并且需要从地理编码回调内部调用回调
请注意,您的问题标题说“在回调中”,但您不是从内部进行控制台日志,它目前是从外部进行的。

关于javascript:在回调函数中获取变量的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26332096/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com