gpt4 book ai didi

node.js - Node 路由器无法使用异步等待从 Sequelize 获取数据

转载 作者:太空宇宙 更新时间:2023-11-04 00:03:58 24 4
gpt4 key购买 nike

第一次使用Sequelize,我在我的 Node 路由器中尝试此代码:

router.get('/get-users', async (req, res, next) => {
const data = await users.getAll()
console.log('users in router:', data);
res.send(data)
});

这是序列化代码:

const users = {
getAll () {
sequelize
.query('SELECT * FROM users', { model: User })
.then(users => {
console.log('users in database:', users);
return users;
})
}
};

Sequelize 代码中的日志语句为我提供了正确的数据,但路由器中的日志语句未定义。

这可能是异步等待问题,但你能帮忙吗?

最佳答案

尝试在 getAll() 中返回 Promise。 Await 只是 promise 的 then() 调用的包装器,但由于您没有返回 promise ,因此等待不会等待 promise 。

  getAll () {
return sequelize
.query('SELECT * FROM users', { model: User })
.then(users => {
console.log('users in database:', users);
return users;
})
}

关于node.js - Node 路由器无法使用异步等待从 Sequelize 获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53227286/

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