在for循环express.js内部渲染

时间:2014-12-16 02:56:58

标签: node.js twitter express

大家好我想在for循环中渲染一个视图。这是在express.js中做这种事情的正确方法吗?唯一需要改变的是第二个属性。 '字幕'。我能够在console.log中发布推文,没有问题只是无法呈现视图。

 twitter.get('statuses/user_timeline',{user_id:xxxxxxxx, screen_name:'xxxxxxx'},                      
               function (error, params, response){                                                              
                    if(error) throw error;
                    for(var text in params){
                        console.log(params[text].text);//+params[].text);
                        res.render('index', { 
                         title: 'Home Page',
                         subTitle: params[text].text
                        });
                    }    
 });

1 个答案:

答案 0 :(得分:1)

以这种方式使用render()时,您无法多次呈现,因为默认情况下,Express会呈现输出,然后自动将响应发送回客户端。

如果要在不自动发送响应的情况下呈现输出,可以将回调作为第三个参数传递给render()。回调是传递错误和输出字符串参数。例如:

res.render('index', { 
  title: 'Home Page',
  subTitle: params[text].text
}, function(err, out) {
  // `out` is the rendered content
});