0

我有这段代码,它工作得很好;然而,这是好的设计吗?我担心在 for 循环有机会完成之前执行 res.send() 。

  app.get('/api/ideas', function(req, res) {
    var query = Idea.find({ status: 'published' }, 'title slug status body pub_date').sort({pub_date: -1});

    query.exec(function(err, ideas){
      for(i in ideas) {
        ideas[i].body = markdown.toHTML(ideas[i].body);
      }
      res.send(ideas);
    });
  });
4

1 回答 1

0

我不确定 toHTML 方法是什么,但您需要查看它是同步调用还是异步调用。如果它是同步的,那么你的设计就完美了, res.send 只会在 for 循环完成后执行。如果它是异步的,那么这将不起作用,并且 send 将在 for 循环完成之前执行。

于 2013-10-18T17:06:29.237 回答