【问题标题】:executing render function after getting output from loop从循环获取输出后执行渲染函数
【发布时间】:2013-09-22 17:46:06
【问题描述】:
module.exports= {
getHomePost:function(req,res) {
post_model.getHomePosts('1',function(err,rows) {
  var locals={}; 
  async.parallel([
    function(callback) {
      for(var i=0;i<rows.length-1;i++) {
        async.series([ 
          function(call){
            post_model.getPostDetails(rows[i].Post_Date_Time_id,rows[i].Post_Personid_id,function(err,row) {
              locals.rows[]=row;
              call();
           });
          }  
        ],function(err){ 

        //console.log(locals.rows);
        });
      } 
      callback();
    }
  ],function(err) {
    console.log(locals.rows);
    res.render('home',locals);
  });
});
}
} 

" 我想在从 for 循环中获取输出后执行渲染。但我无法做到。请帮助。 在从循环中获取值之前,我的回调函数会执行。但我想在从 for 循环获得输出后执行它”

【问题讨论】:

  • 谁能帮我解决这个问题..

标签: node.js asynchronous sync


【解决方案1】:

这可能对你有帮助....

  module.exports= 
    {
        getHomePost:function(req,res) 
        {
            post_model.getHomePosts('1',function(err,rows) 
            {
                var locals={}; 
                async.parallel([
                function(callback) 
                {
                    var count = 0;
                    for(var i=0;i<rows.length-1;i++) 
                    {
                        async.series([ 
                        function(call)
                        {
                            post_model.getPostDetails(rows[i].Post_Date_Time_id,rows[i].Post_Personid_id,function(err,row) 
                            {
                                locals.rows[]=row;
                                call();
                            });
                        }],
                        function(err)
                        { 
                            //console.log(locals.rows);
                        });
                        count++;
                    } 
                    if(count == rows.length)
                    {
                        callback();
                    }
                }],
                function(err) 
                {
                    console.log(locals.rows);
                    res.render('home',locals);
                });
            });
        }
    } 

【讨论】:

    猜你喜欢
    • 2023-04-01
    • 2018-04-05
    • 1970-01-01
    • 1970-01-01
    • 2021-04-25
    • 2014-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多