0

データベースにクエリを実行しようとしていますが、データベースに 3 つのものが含まれていることがわかっているのに、何らかの理由で結果が得られません。私はこの機能を作りました:

function toJson()
{

  var test = [];

  async.series({
    rooms : function() { return Room.find(); }
  }
  , function(err, results) {

    test = results.rooms;

  });

  return test;

}

これはどのように来るのですか?マングースのメソッド(検索)が非同期であることには何か関係があると思います..

前もって感謝します。

4

1 に答える 1

4

toJsonすぐに戻ってきますが、return test;すぐに起こります。代わりにコールバックを取得する必要があります。ここでtoJsonは使用する必要さえありません。async.series

function toJson(callback) {
    Room.find(function(err, results) {
        callback(results);
    });
}

errこれはあなたが望むことをするでしょう - しかし、あなたが提案しているように無視すべきではありません.

于 2012-05-14T09:59:08.620 に答える