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

이임충님의 프로필 이미지
이임충

작성한 질문수

리액트로 나만의 블로그 만들기(MERN Stack)

(13) Auth Routes

다른 분께서 질문주신 내용에 대해서 궁금한 것이 있어서 질문을 올립니다

해결된 질문

작성

·

184

0

안녕하세요 강사님 

올려주신 강의 덕분에 많은 것을 배우고 있습니다.

다른 분이 질문 주신 내용에 대해서 궁금한 것이 있어서 질문드립니다. 

작성하신 코드가 promise로 작성이 되었다는 질문인데요.

제가 promise가 어떤 것인지 잘 몰라서 구글에 promise를 검색해봤는데 작성하신 코드에서는 promise에 있는 요소? 메서드?가 보이지 않아서요.

어떤 부분이 promise인지 알 수 있을까요

답변 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가 내장되어 있는 줄로 몰랐구요.

답변주셔서 정말 감사합니다. 

이임충님의 프로필 이미지
이임충

작성한 질문수

질문하기