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