函数中的猫鼬没有返回任何东西

时间:2012-05-14 09:53:16

标签: node.js mongodb mongoose

我正在尝试查询我的数据库,但出于某种原因,当我知道数据库中有3件事情时,我从未得到结果。我已经完成了这个功能:

function toJson()
{

  var test = [];

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

    test = results.rooms;

  });

  return test;

}

这是怎么来的?我猜它有什么可做的猫鼬他的方法(搜索)是异步..

提前致谢。

1 个答案:

答案 0 :(得分:4)

toJson会立即返回,但return test;会立即发生。你需要让toJson进行回调 - 你甚至不需要在这里使用async.series

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

这会做你想做的事 - 但你不应该像你提议的那样忽略err