基本的に私はこのコードを持っています。リクエストの結果をコールバックで変数に保存し、プログラムの別の部分に戻すことができます。
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に慣れていないので、助けていただければ幸いです