在 Express-Module-Function 中序列化查询

Sequelize Query in Express-Module-Function

我正在使用带有 node.js 和 express 框架的 Sequelize。

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

var app = express();

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

module.exports = app;

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

var app = express();

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

    });
    return "test";
};

module.exports = app;

甚至可以 return 像这样从数据库中获取数据吗?

提前致谢!

我可以通过以下方法让它工作:

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

然后

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

没那么难抱歉