Javascript / node.js - 将值返回到父函数

时间:2015-07-06 13:34:15

标签: javascript node.js

作为node.js新手,我很难理解如何返回嵌套函数的值。我试图创建一个从DB检索数据并返回它的函数。这是我的代码:

getRecent: function() {

    var promise = models.download.find({}).sort({date_added: -1}).limit(5).exec();

    promise.then(function(data) {
        return data;
    });

}

我的目标是让函数getRecent()从mongo返回数据。我最初的想法是:

  1. 为数据创建变量,在promise函数中确定数据,然后返回变量
  2. 做这样的事情:

    var test = promise.then(function(data) {
        return data;
    });
    return test;
    
  3. 但是由于node.js代码是异步工作的,所以它不起作用。我相信一些同步库可能有所帮助,但是这样做的正确和优雅方式是什么?

    谢谢,

    汤姆

1 个答案:

答案 0 :(得分:1)

您可以返回承诺并使用该功能

操作此值
getRecent: function() {
    return models.download.find({}).sort({date_added: -1}).limit(5).exec();
}

getRecent().then(function(data) {
    // do something with data
});