일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 설치형 SW
- OpenSearch
- ECS
- docker context create
- cli
- ci/cd
- 백준
- comdef
- fastify
- MongoServerSelectionError
- docker
- dfs
- fastify-cli
- mysql
- c++
- DevOps
- 수직확장
- 프로세스
- 홈 디렉토리
- 리눅스
- 코드스테이츠
- char 입력
- 웹 SW
- 지속적 전달
- neofetch
- SSAFY입학
- 부트캠프
- Java 입력
- zshrc error
- 출력 명령어
Archives
- Today
- Total
다디와 괴발개발
[Node.js, fastify-cli] 함수 출력 결과가 Promise { <pending> } 로 나오는 현상 본문
TroubleShooting
[Node.js, fastify-cli] 함수 출력 결과가 Promise { <pending> } 로 나오는 현상
아임다디 2022. 4. 16. 20:47발생시기
fastify-cli 프레임워크를 사용한 Node.js 백엔드 프로젝트 도중, 작성한 api를 console.log로 결과를 출력해 볼 때 발생했던 상황
상황
MongoDB에서 collections안에 있는 정보들을 Read하는 함수의 결과값을 테스트해보기 위해 console.log로 출력해보았는데,
출력 결과가 뜬금없는 Promise { <pending> }
이 나왔다.
원인
결과가 async/await
를 통해 Promise
객체로 만들어진 함수라 비동기 형식으로 값에 접근을 해줘야 한다.
해결
결과를 받아오는 함수 앞에 await
를 붙여주면 된다.
자바스크립트는 await
키워드를 만나면 Promise가 처리될 때 까지 기다리고 결과가 리턴된다.
- const curBody = readMyRestaurant(this.mongo, tmpId)
+ const curBody = await readMyRestaurant(this.mongo, tmpId) // awiat를 추가해준다
결론
Js의 async/await
로 함수를 만들었다면, 함수에 대한 결과값은 await로 받아와야 한다