-
카테고리
-
세부 분야
풀스택
-
해결 여부
미해결
return 유무
21.02.17 16:02 작성 조회수 131
0
routes/ page.js
router.get('/profile', (req, res) => {
res.render('profile', { title: '내 정보 - NodeBird' });
});
router.get('/join', (req, res) => {
res.render('join', { title: '회원가입 - NodeBird' });
});
router.get('/', (req, res, next) => {
const twits = [];//메인게시물들
res.render('main', {
title: 'NodeBird',
twits,
})
})
에서는 return 문을 쓰지 않는데
routes/auth.js 와 같이
outer.post('/join', async (req, res, next) => {
const { email, nick, password } = req.body;
try{
const exUser = await User.findOne({ where: {email} });
if (exUser){
return res.redirect('/join?error=exist'); //front에서 query보고 처리
}
const hash = await bcrypt.hash(password, 12);
await User.create({
email,
nick,
password: hash,
});
return res.redirect('/');
} catch(error){
console.error(error);
return next(error);
}
});
return 으로 next(error)나 res.render 등등 을 해주는 이유가 뭔가요?
답변을 작성해보세요.
0
0
조현영
지식공유자2021.02.17
명시적으로 함수가 종료된다는 것을 보여준 거고요. 위 예제에서는 안 붙여도 되지만 붙이는 습관을 들이는 게 에러가 안 나서 좋습니다. 잘못해서 res 메서드가 두 번 이상 호출되면 cannot send header twice라는 에러 발생하거든요.
답변 2