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

Dev님의 프로필 이미지

작성한 질문수

mongoDB 기초부터 실무까지(feat. Node.js)

User Document 생성하기

const user = new User(req.body)의 async

해결된 질문

작성

·

191

3

 const user = new User(req.body)는 왜 async를 안해주는지 궁금합니다.

애초에 new User는 동기적으로 처리되는 코드인가요?

감사합니다!

답변 2

1

김시훈님의 프로필 이미지
김시훈
지식공유자

Dev님 안녕하세요 :)

이 부분은 User라는 instance를 생성하는건데요. 데이터베이스에 저장이 되는건 아니고 변수 선언하는것과 비슷한거라고 보시면 되요. 생성된 객체 안에는 req.boy의 필드들이 들어 있을거고요. schema에서 default로 선언해준게 있으면 그것도 선언이 되어 있을거고요. 그 외 mongoose에서 혹은 본인이 선언해준 method들이 포함되어 있을거에요. 저희가 쓰는 대표적인 method로 .save가 있죠.

user.save()는 Promise를 리턴해요. 여기서 외부(데이터베이스)로 호출이 들어가기 때문에 Promise를 리턴해줘요. 따라서 여기서 await user.save()를 해줘야 합니다 :)

Dev님의 프로필 이미지
Dev
질문자

감사합니다!!

0

안녕하세요 강의 잘 듣고 있습니다. Promise를 리턴해주는 외부 api에 대해선 그럼 모두 await를 써줘야 한다고 보면 될까요?

Dev님의 프로필 이미지

작성한 질문수

질문하기