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 ループが完了した後にのみ実行されます。非同期の場合、これは機能せず、for ループが完了する前に send が実行されます。

于 2013-10-18T17:06:29.237 に答える