해결된 질문
작성
·
169
2
정말 많은 감탄과 재미를 느끼며 공부를 하고있습니다.
감사합니다.
수업에서 promise, async await으로 각각 mongoose.connect 로직을 수행하였을 때, promise는 mongoose.connect 아래의 로직들이 수행되었다가 mongoose.connect 연결이 완료되면 then을 통해 로직이 구현됬고, async await으로 하면 아래의 로직들이 수행이 되는 것을 막고 mongoose.connect 로직이 끝내면 아래의 로직이 수행되었잖아요.
async await이 promise 기반으로 만들어졌다고 알고 있었는데 이러한 기능적인 차이를 둔것은 개발자가 목적에 맞게 둘 중에 하나를 쓰게 하기 위해 차이를 둔것인지 묻고 싶습니다.
또한 const server = async() => { } 함수로 묶어서 mongodb가 먼저 연결되도록 구현하였는데 이 방법이 신선하게 다가왔습니다. 실무에서도 이와 같이 구현을 하나요??
감사합니다!
답변 1
0
Dev님 안녕하세요 :)
async await 대신에 .then을 사용하셔도 완전 동일합니다(.then.catch를 선호하시면 이걸 사용하셔도 됩니다). 내부적으로는 그대로 Promise에요! const server = async() => {} 이렇게 함수로 감싼 이유는 보통 두자기 이유가 있는데요. 이 강의에서는 async await의 좀 더 간결한 문법을 사용하기 위함이었구요. 그리고 여기서는 하지 않았지만 테스트 코드를 작성할 때도 이런식으로 사용할 때가 있습니다. 테스트 환경에서 server를 불러와서 실해주는거죠.
감사합니다!!