gpt4 book ai didi

javascript - 嵌套函数的返回值 (Javascript)

转载 作者:行者123 更新时间:2023-12-02 17:11:22 25 4
gpt4 key购买 nike

我需要从 getNearRoutes 函数返回变量结果。在路由函数内部,数组结果具有所有正确的元素,但当函数结束时,数组结果为空。我知道这是一个范围问题,但我无法修复它,感谢任何帮助。

提前致谢。

getNearRoutes: function(lat, lng){
result = [];

var routes = $.getJSON("js/storage/routes.json", function(json) {
for(var i = 0; i < json.length; i++) {
var obj = json[i];

for( var j = 0; j < obj.points.length ; j++){
if (app.calculateDistance( obj.points[j].lat, obj.points[j].lng , lat , lng) < 0.05) {

result.push(obj);
break;
}

}

}

});

return result;
}

最佳答案

由于 getJSON 是异步的,因此您需要回调:

getNearRoutes: function(lat, lng, callback){
var result = [];
$.getJSON("js/storage/routes.json", function(json) {
for(var i = 0; i < json.length; i++) {
var obj = json[i];

for( var j = 0; j < obj.points.length ; j++){
if (app.calculateDistance( obj.points[j].lat, obj.points[j].lng , lat , lng) < 0.05) {
result.push(obj);
break;
}
}
}
callback(result);
});
}

然后使用该函数:

getNearRoutes(lat, lng, function(result) {
console.log(result); //data is here!
});

关于javascript - 嵌套函数的返回值 (Javascript),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24787600/

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