gpt4 book ai didi

node.js - 如何访问 knex 查询结果

转载 作者:搜寻专家 更新时间:2023-10-31 23:11:55 25 4
gpt4 key购买 nike

将 knex 与 express 结合使用,如何访问 knex 查询的结果?

例子:

var bots = []

response = knex.select('id', 'name').from('robots')
.then(function(robots){
console.log(robots);
bots = robots
});

console.log(bots)

这将记录机器人但不会更新空的 bots 数组。

编辑:

作为一种同步解决方法,在快速路由中,我将 express block 卡在了 knex block 中:

router.get('/robots', function (req, res) {

response = knex.select('id', 'name').from('robots').then(function(bots){

res.render('robots/index', {
page_title: 'All Robots',
robots: bots
}); // res.render

}); // knex.select

}); // router.get

这是推荐的模式吗?

最佳答案

knex 使用 Promises。具体来说,它使用 http://bluebirdjs.com/docs/getting-started.html . console.log(bots) 不会工作,因为它会立即被调用,而 .then( ... ) 只会在 knex 之后调用> 查询已成功调用并运行。

您编辑的“同步解决方法”是运行 Express 响应的正确方法,尽管您不需要将该查询设置为 var response(有关更多信息,请参阅我对您的问题的评论).

关于node.js - 如何访问 knex 查询结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36111414/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com