基本上我有这个代码。我想将回调中的请求结果保存到一个变量中,然后我可以返回到程序的另一部分。
var request = require('request');
var geocodeLoc = function(location)
{
var result;
var baseURL = 'https://maps.googleapis.com/maps/api/geocode/json?address=' + location;
request(baseURL, function(e, r, b){
if(!e && r.statusCode == 200){
result = (JSON.parse(b).results[0].geometry.location);
console.log(result);
}
});
return result
}
console.log( geocodeLoc('Hoxton') );
console.log(geocodeLoc('Hoxton')) 的结果在执行 console.log(result) 之前返回。
真正令人沮丧的是,console.log(result) 的结果正是我想要的。
这是程序的输出
undefined
{ lat: 51.535638, lng: -0.08934399999999999 }
我想要的只是 geocodeLoc 返回结果。我对NodeJS有点陌生,非常感谢任何帮助