【发布时间】:2023-12-18 03:21:01
【问题描述】:
我在 localhost 上运行了两个 NodeJS 应用程序。
1 号应用程序使用 superagent.js 请求/generatedData 2 号应用程序(下):
request = require('superagent');
request.get('http://localhost:3000/generatedData')
.end(function(err, res) {
if (err) {
console.log(err);
} else {
console.log(res.text);
}
});
2 号应用程序生成数据并将其写入响应(下)
router.get('/generatedData', function (req, res) {
res.setHeader('Connection' , 'Transfer-Encoding');
res.setHeader('Content-Type' , 'text/html; charset=utf-8');
res.setHeader('Transfer-Encoding' , 'chunked');
var Client = someModule.client;
var client = Client();
client.on('start', function() {
console.log('start');
});
client.on('data', function(data) {
res.write(data);
});
client.on('end', function(msg) {
client.stop();
res.end();
});
client.on('err', function(err) {
client.stop();
res.end(err);
});
client.on('stop', function() {
console.log('stop');
});
client.start();
return;
});
在 1 号应用程序中,我想使用正在写入的数据。
我不能等到request.end,因为生成的数据可能很大,需要很长时间才能完成。
2 号应用程序将数据写入response 时如何获取数据?
这是正确的方向吗?最好的方法是什么?
谢谢, 阿萨夫
【问题讨论】:
标签: node.js http httprequest httpresponse superagent