【发布时间】:2013-12-16 04:02:47
【问题描述】:
我正在尝试传递要在屏幕上显示的新闻数组,但不知何故我在浏览器的结果中得到了空数组
routes/rss.js
...
var news = [];
...
var this_news = {
'title': item.title,
'description': item.description
}
news.push(this_news);
...
res.render('rss', {
title: 'Node.js based RSS reader',
newsi: JSON.stringify(news)
});
views/rss.jade
extends layout
block content
h1= title
p Welcome to #{title}
p Sure why not
script(type='text/javascript').
var inews = !{newsi};
编辑
好的,所以我得出的结论是问题出在我的“非回调逻辑”上
这是我的代码:
var FeedParser = require(__dirname + '/../node_modules/feedparser')
, request = require(__dirname + '/../node_modules/request');
exports.news = function(req, res){
var news = [];
request('http://feeds.feedburner.com/niebezpiecznik/')
.pipe(new FeedParser())
.on('error', function(error) {
//...
})
.on('meta', function (meta) {
console.log('===== %s =====', meta.title);
console.log('**** %s ****', meta.description);
console.log();
})
.on('readable', function() {
var stream = this, item;
while (item = stream.read()) {
var this_news = {
'title': item.title,
'description': item.description
}
news.push(this_news);
}
res.render('rss', {
title: 'Node.js based RSS reader',
newsi: JSON.stringify(news)
});
});
};
它几乎可以工作,但它给我带来了未处理的异常。我应该如何处理?
【问题讨论】:
标签: javascript arrays node.js pug