【发布时间】:2019-01-12 10:24:51
【问题描述】:
我正在编写一个节点 API,并希望将 Sequelize 查询的结果保存在一个变量中作为 findAll 块的纯 JavaScript 对象外部。我有一些有用的东西,但没有我想要的那么好。这是我所拥有的:
router.get('/', (req, res, next) => {
models.User.findAll({
attributes: ['id', 'name'],
raw: true
}).then(function (results) {
console.log(results); // Plain JavaScript object, which is good
// Do logic on results
//Return results
res.status(200).json({
results
});
});
});
但我真的不想将我的所有逻辑都保留在 then() 块中,尤其是因为我可能想在此之前或之后进行一些其他查询。我真的想要类似的东西(如果这是一件事):
router.get('/', (req, res, next) => {
var users = models.User.findAll({
attributes: ['id', 'name'],
raw: true
}).then(function (results) {
});
});
// Do logic on results
// return results
res.status(200).json({
results
});
});
我尝试将 sequelize 查询保存在 router.get() 调用下方的函数中,并在结果是 JavaScript 对象时返回结果,但这不起作用。我对 JavaScript 很陌生,所以我很感激你的建议。
【问题讨论】:
-
你可以使用异步等待。
标签: node.js express sequelize.js