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

khhan1990님의 프로필 이미지
khhan1990

작성한 질문수

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

Mongoose Connection

await에 대한 질문이 있습니다.

작성

·

179

1

선생님 안녕하세요!

제가 프로미스에 대한 이해가 부족해서 기초적인 질문일 수도 있을 것 같습니다만 답변 주시면 감사드리겠습니다.

이번 예제에서 await를 사용하여 mongoDB가 먼저 연결되게 코드를 짜셨는데, await라는게 말 그대로 프로미스가 다 실행될 때까지 기다렸다가 await 구문을 실행하라는 뜻 아닌가요~?

근데 await mongoose.connect를 하면 mongoDB에 먼저 접속할 수 있게 되는 이유가 어떤 것인지 궁금합니다.

답변 1

1

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

안녕하세요~

"await라는게 말 그대로 프로미스가 다 실행될 때까지 기다렸다가 await 구문을 실행"

-> "await라는게 말 그대로 프로미스가 다 실행될 때까지 기다렸다가 다음 코드를 실행"

await foo();
bar(); // bar 함수는 foo의 Promise가 fullfill(실행) 되고 나서 실행

mongoose.connect를 await 하는 이유는 연결 되기 전에 express app을 실행하지 않게 하기 위함이에요. 안그러면 디비가 연결되기 전에 찰나에 요청을 받게 될 수도 있는데 디비 연결이 안되어 있어서 처리를 못하게 되죠

khhan1990님의 프로필 이미지
khhan1990

작성한 질문수

질문하기