我想这个问题很容易解决...在我的node项目中,我使用的是promise-mysql包。现在我对这些东西还很陌生。我认为一切都是异步的,所以我无法简单地返回查询结果,因为到达返回值时查询结果还没有完成。
现在有了promise-mysql,我不知道如何等待诺言完成。那就是我的功能:
function getUserByID(user_id) {
let sql_get_user = 'SELECT * FROM users WHERE id = ?';
return con.then(function(con) {
return con.query(sql_get_user, [user_id]);
}).then(function (rows) {
resolve(
{
username: rows[0].username,
image: rows[0].image
}
);
});
}
con是与数据库的实际连接。没问题,但是我收到错误消息:resolve is not defined
。我可能把整个事情弄错了,但是我卡住了,需要一些指导。