본문 바로가기
JavaScript 이론

#1 Promise와 then

by 혀닙 2022. 1. 28.

지난 게시글에서 콜백 함수의 실행순서와

Promise 객체에 대해서 공부해보았다.

오늘은 Promise의 값을 반환하는 then() 메서드에 대해서 배워보자.

 

# 이론

 

then(onFulfilled, onRejected) 메서드는 두개의 매개변수를 가진다.
첫번째 매개변수는 Promise가 이행될 경우의 값을 반환하는 콜백함수
두번째 매개변수는 Promise가 실패할 경우의 값을 반환하는 콜백함수


<참고>
만약 둘 중 하나 또는 두 개의 매개변수가 생략된다면,
then은 핸들러가 없게 되지만, 에러가 발생하지는 않는다.

만약 핸들러가 없는 then으로부터 호출된 Promise에 이행 또는 실패의 상태가 적용된다면,
(즉, pending이 아닌 어떠한 상태값이 적용된다면)
반환된 Promise는 then이 호출된 원래의 Promise의 마지막 상태값을 가지게 될 것이다.
각각의 .then() 메서드는 새롭게 생성된 Promise 객체를 반환한다.
그리고 새롭게 생성된 각각의 Promise 객체들은 체인처럼 엮여질 수 있다.

 

 

 

# 실습 

이전 게시글에서 작성하였던 코드를 다시 가져와서 이어서 진행해보도록 하자.

현재 아래의 코드는

다음과 같은 결과를 출력한다.

위의 코드에서 setTimeout()없이 then() 메서드를 사용하여

동일하게 `hello promise`라는 Promise 이행시의 결과값을 출력해보도록하자.

 

 

 

우선,

입력되어있는 setTimeout()을 주석처리 한 후,

 

then()메서드를 이용한 코드를 입력해보자.

결과 확인

위와 같이

resolve()메서드 안에 작성되어있는

Promise 이행 시의 값이 반환되는 것을 확인할 수 있다.

'JavaScript 이론' 카테고리의 다른 글

history 인터페이스  (0) 2022.05.02
배열의 반복  (0) 2022.02.09
1/5 끌어올리기(Hoisting) 개념  (0) 2022.01.05

댓글