代码:
User.findOne({name: name}, function(err, user){
if(err) {
console.log(err);
data.data = "发生未知错误"
data.status = 1001
}
if(!user){
console.log(user)
data.data = "用户不存在"
data.status = 1002
}
else{
user.comparePassword(password, function(err, isMatch) {
if(err) {
console.log(err);
data.data = "发生未知错误"
data.status = 1001
}
if(isMatch) {
data.data = "登录成功"
data.status = 1000
}
else {
data.data = "密码不正确"
data.status = 1003
}
})
}
res.send(data)
})
问题:数据库用的mongodb,建模工具用的mongoose,这里由于nodejs的异步机制,导致最后res.send(data)发送的数据永远是data:{data: '', status: 1000 },请问一下怎么写才能够让代码顺序执行,得到正确的data值?
犯罪嫌疑人X
相关分类