【发布时间】:2014-03-07 05:07:45
【问题描述】:
我在将响应数据发送给客户端时遇到问题。响应不会发送到客户端,不会触发 res.on('end')。我没有任何想法来解决这个问题。我的目标是将redis中检索到的数据发送给客户端。有什么办法可以使这项工作?顺便说一句,这是我的代码家伙。谢谢
app.get('/contacts/list', function(req, res) {
var someId = null;
var someData;
var optionsA = {
hostname: host,
path: checkHeaders,
headers: {
'Content-Type': 'application/json',
'someheaders1': req.headers.someheaders1,
'someheaders2': req.headers.someheaders2,
'someheaders3': req.headers.someheaders3,
'someheaders4': req.headers.someheaders4,
'user-agent': req.headers['user-agent'],
'local': req.header('x-forwarded-for') || req.connection.remoteAddress
}
};
var req = https.get(optionsA, function(res) {
res.on('data', function(chunk) {
if (res.statusCode === 200) {
userId = chunk;
redisc.smembers('setId:' + someId, function(err, data) {
if (!err) {
someData = data;
} else {
console.log(err);
}
});
} else {
console.log('404');
}
});
res.on('end', function() {
res.send(someData);
console.log('end');
});
});
req.on('error', function(e) {
console.log('ERROR: ' + e.message);
});
res.end();
});
提前致谢。伙计们。
【问题讨论】:
标签: javascript node.js express redis httprequest