代碼:User.findOne({name:name},function(err,user){if(err){console.log(err);data.data="發(fā)生未知錯(cuò)誤"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="發(fā)生未知錯(cuò)誤"data.status=1001}if(isMatch){data.data="登錄成功"data.status=1000}else{data.data="密碼不正確"data.status=1003}})}res.send(data)})問(wèn)題:數(shù)據(jù)庫(kù)用的mongodb,建模工具用的mongoose,這里由于nodejs的異步機(jī)制,導(dǎo)致最后res.send(data)發(fā)送的數(shù)據(jù)永遠(yuǎn)是data:{data:'',status:1000},請(qǐng)問(wèn)一下怎么寫(xiě)才能夠讓代碼順序執(zhí)行,得到正確的data值?
如何解決node.js異步問(wèn)題?
牛魔王的故事
2019-05-25 14:07:57