해결된 질문
작성
·
184
답변 2
1
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Promise/then
아마 javascript promise를 검색해보시면 promise는 먼저 객체를 생성하고 사용해야 한다고 나와 있어,
ex> const promise = new Promise(()=>{})
이런식으로 나와야 한다고 생각하시는데, 없어서 아마 혼란스러우신 것 같습니다.
[참조] https://mongoosejs.com/docs/promises.html
하지만 위 참조를 보시면 mongoose는 기본적으로 promise를 지니고 있어, promise 메서드(then 등...)를 사용할 수 있음을 알 수 있습니다.
요약> 코드에 then이 사용되고 .(콤마)를 찍으면서 연속적으로 chain 형태로 이어진다면 promise를 사용하고 있구나~~ 라고 생각하시면 됩니다.
요약2> (코드의 깔끔함 정도) promise와 비슷한 것으로 es2017부터 사용가능한 async/await 구문이 있는데... 개인의 취향에 따라 전자가 깔끔해 보일때도 있고, 후자가 깔끔해보일때도 있어 '개인의 취향'이라고 질문이 달린 적이 있는 것입니다.
(사견) 저는 개인적으로 promise가 더 직관적이라고 생각하지만... 길어지면 머리아프긴 합니다. ㅎㅎㅎ
0
then()가 JS에서 사용 가능한 메서드인 줄 알고 있었는데
promise에 포함이 되어 있는 줄 몰랐습니다,
그리고 mongoose에서 promise가 내장되어 있는 줄로 몰랐구요.
답변주셔서 정말 감사합니다.