在我的后端,我收到一个流,其中包含来自网站的数据,其中包含的信息比从我的路线发送的信息要多得多。从这段代码:
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);
});
feedparser.on中的console.log返回一个包含许多新闻文章的对象。当我控制台在该范围内登录时,它会显示所有文章属性,例如标题,描述,链接等...它占用了整个cmd控制台日志,因为它包含多篇文章,因此给了我超过80,000个字符。
但是,news.post中的console.log及其发送的响应只是流中最旧的对象,即一篇文章。为什么呢?
编辑:NM我能够弄明白。我不得不将新闻设置为一个数组,然后将项目推入其中。
答案 0 :(得分:0)
当数据流抓取它时,流正在对数据进行流式处理,并且它确实快速完成,因此输出是多个流,看起来像一个文件。实际上,我只是将变量设置为流式传输的最后一项。通过使用数组并推入它,我能够获得所有信息。