인프런 커뮤니티 질문&답변
error 인식
작성
·
215
0
router.post('/', isNotLoggedIn, async (req, res, next) => {
try {
const existedUser = await User.findOne({
where: {
email: req.body.email,
},
});
const existedNickname = await User.findOne({
where: {
nickname: req.body.nickname,
},
});
if (existedUser) {
return res.status(403).send('이미 사용중인 아이디 입니다.');
}
if (existedNickname) {
return res.status(403).send('이미 사용중인 닉네임 입니다.');
}
const hashedPassword = await bcrypt.hash(req.body.password, 12);
await User.create({
email: req.body.email,
nickname: req.body.nickname,
password: hashedPassword,
});
res.status(201).json({ signUpSuccess: true });
} catch (error) {
console.log(error);
next(error);
}
});
회원가입 라우터입니다.
강의에서 보면 기존에 회원가입되어잇는 이메일이 있다면 아래 부분 코드에 의해서 응답을 처리하게 되는데요.
if (existedUser) {
return res.status(403).send('이미 사용중인 아이디 입니다.');
}
응답 상태 코드가 403이라서 saga에서 try catch 문에서 에러로 빠지는건가요?
백엔드 라우터에서 try catch에서 error가 발생해서 응답한게 아니고 어떻게 보면 정상적으로 응답을 한건데 saga에서 어떻게해서 에러로 인식되는지 궁금합니다. 상태 코드 200으로 응답하면 saga에서 에러로 안빠지더라구요. 상태코드 때문인것같은데 확실한건지 몰라서 질문드립니다.




