在Express-Module-Function中查询查询

时间:2015-05-19 12:00:21

标签: node.js express sequelize.js synchronous

我正在使用Sequelize与node.js和express框架。

我需要在app-module中实现一个函数,该函数提供数据库中的特定信息。我目前的做法是:

var app = express();

app.provide = function(){
    models.Project.findAll({ include: [{ all: true}]}).then(function(data){
        return data;
    });
};

module.exports = app;

我的问题是查询运行异步,并且提供函数返回" undefined"在查询完成之前。如果return语句不在回调中,它按预期工作,但我没有任何数据:

var app = express();

app.provide = function(){
    models.Project.findAll({ include: [{ all: true}]}).then(function(data){

    });
    return "test";
};

module.exports = app;

甚至可以像这样从数据库返回数据吗?

提前致谢!

1 个答案:

答案 0 :(得分:1)

我可以设法使用以下内容:

app.provide = function(){
    return models.Project.findAll({ include: [{ all: true}]});
};

然后

app.provide().then(function(data){
   console.log(data);
});

并不是那么难过