nodejs 数据库查询回调问题
问题:
在创建用户时,前台传入了要新增的用户信息,后台要先做判断账号是否存在再进行新增操作
问题是第一个查询的结果在回调里,第二个数据库操作将会直接执行
加了个状态变量也是一样的结果。
请问:
如何解决这个问题,是插入操作直接放到第一个查询的回调里吗?
let ifNotExist = false;
mydb.query('select * from users where account=?',
[account],
function (err, result) {
console.log(result);
if (result.length == 0) {
ifNotExist = true;
}
});
mydb.query(
'insert into users (id, username, account, password) values(uuid(),?,?,?)',
[username, account, password],
function (err, result) {
console.log(result);
if (result.affectedRows == 1){
res.json({
err: 0
})
} else {
res.json({
err: 1,
msg: '插入失败,请联系管理员'
})
}
})
} else {
res.json({
err: 1,
msg: '已存在该账号,请修改'
});
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
把第一个查询放在了Promise中,把插入放到接着的then里就好了。
谢谢大家
我觉得是的,两个操作都是异步操作,你在外部加变量是无济于事的。