Node.js Express模块函数中的Sequelize查询

Node.js Express模块函数中的Sequelize查询,node.js,express,sequelize.js,synchronous,Node.js,Express,Sequelize.js,Synchronous,我正在将Sequelize与node.js和express框架一起使用 我需要在我的应用程序模块中实现一个功能,该功能提供数据库中的特定信息。我目前的做法是: var app = express(); app.provide = function(){ models.Project.findAll({ include: [{ all: true}]}).then(function(data){ return data; }); }; module.export

我正在将Sequelize与node.js和express框架一起使用

我需要在我的应用程序模块中实现一个功能,该功能提供数据库中的特定信息。我目前的做法是:

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;
甚至可以像这样从数据库返回数据吗


提前谢谢

我可以通过以下方法使其工作:

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

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

很抱歉,如果我做对了,他们建议使用Promissions(他们使用angularJS,但我已经在sequelize中读到了关于Promissions的内容)。但是sequelize文档中没有承诺文档,这是因为承诺不一定要sequelize,sequelize使用库。