• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

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

21.04.02 00:36 작성 조회수 140

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

질문자

2021.04.02

감사합니다!!

0

살아남자님의 프로필

살아남자

2021.04.14

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