使用 res.send 时,未发送整个文件

When using res.send the entire file is not being sent

在我的后端,我正在获取一个包含来自网站的数据的流,该网站包含的信息比从我的路线发送的信息多得多。来自这段代码:

feedparser.on('readable', function(){
    var stream = this;
    var meta = this.meta;
    var item;

    while(item=stream.read()){
        theNews = item;
        console.log(JSON.stringify(theNews));
    }
});

news.post('/', function(req, res){
    var currentNews = JSON.stringify(theNews);
    console.log(currentNews);
    res.send(currentNews);
});

console.log feedparser.on returns object 中有很多新闻文章。当我在该范围内进行控制台登录时,它会显示所有文章属性,例如标题、描述、link 等...它占用了整个 cmd 控制台日志,给我超过 80,000 个字符,因为它包含多篇文章。

然而,来自news.post的console.log及其发送的响应只是流中最早的object,即一篇文章。为什么?

编辑:NM 我能够弄明白。我不得不将 theNews 设置为一个数组,然后将项目按原样推入其中。

流在抓取数据时正在流式传输数据,而且速度非常快,因此输出是多个流,看起来像一个文件。实际上,我只是将变量设置为流式传输的最后一个项目。通过使用数组并将其推入其中,我能够获得所有信息。