web

노드 - Promise

tpghks9245 2022. 4. 21. 20:46

프로미스

자바스크립트 비동기 처리에 사용되는 객체.

 

- 서버에서 받아온 데이터를 화면에 표시할 때 주로 사용한다.

 

프로미스의 상태

new Promise() - 프로미스를 생성

이후 3가지의 상태를 가짐.

 

pending(대기) - 비동기 처리 로직이 아직 완료되지 않음.

fulfilled(이행) - 비동기 처리 완료. 결과 값이 반환됨.

rejected(실패) - 비동기 처리중 오류가 발생하거나 실패한 상태.

 

new Promise();

해당 메서드를 호출하면 대기 상태로 전환됨.

해당 메서드를 호출할 때 콜백함수를 선언할 수 있다.

ex)

new Promise(function(resolve, reject) {

 

});

 

--------

 

new Promise(function(resolve, reject) {

        resolve();

});

 

콜백 함수의 인자인 resolve를 실행하면 fulfilled(이행) 상태로 전환된다.

 

이행상태가 되면 then()을 이용하여 처리결과 값을 받을 수 있다.

 

--------

 

new Promise(function(resolve, reject) {

        rejected();

});

 

해당 메서드를 호출하면 실패상태가 된다.

 

실패상태가 되면 실패한 이유와 결과값을 catch()로 받을 수 있음.