Node.js を使い始めたばかりです。http.request について基本的な質問があります。いくつかのサーバーからデータを返すいくつかの関数を含む JavaScript モジュールを作成したいと考えています。
コードは次のとおりです。
var mod = (function() {
var my = {};
var options = {
hostname: 'example.com'
};
var foo = '';
my.getBar = function() {
var req = http.request(options, function(res) {
res.setEncoding('utf8');
res.on('data', function (chunk) {
// example.com returns JSON
// TODO need to be able to get foo from outside this module
foo = JSON.parse(chunk).bar;
});
});
req.end();
}
return my;
}());
取得するには、次のようbar
にします。
console.log(mod.getBar());
しかし、私は得るundefined
。何か非同期が起こっていると思います.getリクエストが発生し、それが発生している間に、まだ受信されていない結果を出力しようとしますか? 私はそれを同期させる必要があると思いますか?
どうもありがとう。