我是新来的node.js,我试图调用一个服务,解析它的数据并将它作为视图的一部分返回。我似乎无法得到阻止请求,直到响应完成。控制台总是在'正确'之前记录'错误'(返回1,2,3数组)。我错过了什么?Node.js我的请求不阻止
app.js
var reading = require('./reading');
app.get('/reading', function(req, res){
res.render('reading/index.stache',
{
locals : { ids : reading.list},
partials : {
list : '{{#ids}}{{.}}<br />{{/ids}}'
}
});
});
reading.js
var request,
http = require('http'),
host = 'google.com',
path ='/';
var list = function(){
var connection = http.createClient(80, host),
request = connection.request(path);
request.addListener('response', function(response){
var data = '';
response.addListener('data', function(chunk){
data += chunk;
});
response.addListener('end', function(){
console.log('right')
//var results = JSON.parse(data);
// i need results from json
return [88234,883425,234588];
});
});
request.end();
console.log('wrong');
return [1,2,3];
}
module.exports.list = list;
不是你的问题的答案,但我只想指出,你需要'请求'模块,但是然后使用Node的核心'createClient'来代替。 – loganfsmyth 2012-02-26 15:00:20
对不起,这是从其他尝试遗留下来的.... – bluevoodoo1 2012-02-26 15:31:03