下記の関数で指定したURLにアクセスして、かえって来るJSONをresponse変数に格納して、それを返り値として返したいです。しかし、"関数内"とかいてある方では、変数responsenにしっかりとjson形式のデータが格納されているのですが、"関数外"と書かれている方の変数responseにはデータが格納されていないというか、エラーとしてデータが表示されます。
なぜ、"関数内"では取得できている変数が"関数外"の変数と同じ値ではないのでしょうか?
原因と解決策をわかるかた教えて下さい!
js
1function getJSON(url){ 2 var response = https.get(url, function(res){ 3 var body = ''; 4 res.setEncoding('utf-8'); 5 6 res.on('data', function(chunk){ 7 body += chunk; 8 }); 9 10 res.on('end', function(res){ 11 ret = JSON.parse(body); 12 response = ret.response; 13 console.log("関数内"); 14 console.log(response); 15 }); 16 }).on('error', function(e){ 17 console.log(e.message); 18 }); 19 console.log("関数外"); 20 console.log(response); 21 return response; 22};
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/09/16 03:21