我刚刚开始使用 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
。我认为正在发生一些异步事件.. 发生了获取请求,当它发生时,我尝试打印尚未收到的结果?我想我需要让它同步还是什么?
非常感谢。