• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

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

22.11.29 23:09 작성 조회수 124

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을 실행하지 않게 하기 위함이에요. 안그러면 디비가 연결되기 전에 찰나에 요청을 받게 될 수도 있는데 디비 연결이 안되어 있어서 처리를 못하게 되죠