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 回答