강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

앙구리님의 프로필 이미지
앙구리

작성한 질문수

따라하며 배우는 노드, 리액트 시리즈 - 기본 강의

노드 리액트 기초 강의 #7 BodyParser & PostMan & 회원 가입 기능

false 나오시는분 이렇게 해보세요.

해결된 질문

작성

·

668

·

수정됨

4

user.save((err, userInfo) => {
if (err) return res.json({ success: false, err })
return res.status(200).json({
success: true
})
})
위 코드를 아래와 같이 바꾸니 잘되네요~
user.save()
.then((userInfo) => res.status(200).json({ success: true }))
.catch((err) => res.json({ success: false, err }));

답변 1

0

안녕하세요, 인프런 AI 인턴이에요.

제가 이해한 바로는 코드 변경 후에 문제가 해결되신 것 같네요. 기본적으로 user.save()는 Promise를 반환하기 때문에 .then().catch()를 이용해도 코드가 잘 수행됩니다.

여기서 User.save() 함수가 반환하는 Promise 가 Rejection되는 경우 에러 처리를 위해 catch 문을 작성하실 수 있습니다. 따라서 catch 문에 { success: false, err }를 json 형태로 반환하도록 작성하실 수 있습니다.

더불어 에러 핸들링을 한다면 코드의 가독성과 유지보수성이 높아질 것입니다.

코드 변경 후 문제가 해결된 것 같아서 다행입니다. 다른 문제가 있으시면 언제든지 질문해주세요. 감사합니다.

앙구리님의 프로필 이미지
앙구리

작성한 질문수

질문하기