在 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);
});
没那么难抱歉
我正在使用带有 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);
});
没那么难抱歉