작성
·
199
0
안녕하세요.
따라하며 배우는 노드, 리액트 시리즈 12강을 듣고 async를 이용하여 로그인 코드를 다음과 같이 변경 했습니다.
app.post('/login', async (req, res) => {
User.findOne({email:req.body.email}).then((user)=>{
if(!user){
return res.json({
loginSuccess:false,
message:"제공된 이메일에 해당하는 유저가 없습니다."
})
}
user.comparePassword(req.body.password, (err, isMatch)=>{
if(err) return res.status(400).send(err);
if(!isMatch) return res.json({ loginSuccess:false, message:"비밀번호가 틀렸습니다."})
user.generateToken((err, user) => {
if(err) return res.status(400).send(err);
res.cookie("x_auth", user.token)
.status(200)
.json({loginSuccess:true, userId : user._id });
})
})
})
})
문제 없이 잘 실행이 되는 것 같은데 (분기점에 따라서 message는 제대로 출력됩니다.)
다만 generateToken후에 json에서 설정한 loginSuccess, userId 만 보이는게 아니고
이렇게 user 정보가 다 나옵니다. loginSuccess은 출력이 안되고요.
이유가 찾을 수 없어 여기에 질문드립니다ㅠ
앗 400을 이제야 봤네요 감사합니다!!