NodeJS하면 유명한 단어가, 비동기와 함께 나오는 콜백헬이라는 단어인데요.

코드의 많이 중첩되어서, 가독성이 매우 떨어지는 문제가 있는데요.

이에 대한 대안중 하나로, Promise가 나왔습니다.


이제는 NodeJS의 모듈들을 보아도,

Promise를 사용한 예제를 제공해주는곳도 많은데요.

오늘은 이 Promise에 대해서 정리해 보겠습니다.



1. Promise


Promise는 비동기 operation에 대한 결과들을 대표하는 상태들을 정의하고 사용합니다.

크게 3가지로 나누어 지는데요.

  • pending : Promise의 initial (초기)상태를 나타냅니다.
  • fulfilled : 성공적으로 수행이 된 상태를 나타냅니다.
  • rejected : 비동기 Operation 의 실패된 상태를 나타냅니다.


NodeJS에서 모듈 설치를 피해갈수는 없겠죠?

아래 명령어를 사용해서 모듈을 설치해 줍니다.

>> npm install promise --save


설치후에는 require해줍니다.




2. Promise의 생성


Promise는 new 생성자를 사용해서 객체를 생성하는데요.

이 클래스는 두개의 인자를 받습니다.

첫번째는 fulfill이구요, 두번째는 reject 인자입니다.

코드를 수행하고, 결과에 따라서 둘중하나를 호출하게 됩니다.


아래 코드를 기준으로,

new Promise가 생성된 시점이, pending 상태이구요.

비동기 Operation실행결과, err를 받았다면, reject함수를 호출하고,

성공적으로 res를 받았다면, fulfill함수를 호출한다는 것입니다.




3. then 과 done


비동기 Operation의 결과를 받아서 무언가를 할때는, 

then을 chaining해주구요.

그저 결과만 받을 때는 done을 사용해주면 됩니다.





























'NodeJS' 카테고리의 다른 글

Nodejs 에서 XML 파싱하기  (0) 2019.05.30
NodeJS에서 Header 값 받아오기  (1) 2019.03.31
NodeJS ErrorCode 정리  (0) 2019.03.31
NodeJS에서 활용하는 process.env  (1) 2019.03.26
NodeJS에서 사용하는 Logging모듈 Winston  (0) 2018.04.03

+ Recent posts