Promise

JUN·2021년 7월 6일
0
post-custom-banner

Promise의 개념에 대해서 설명.

나오게 된 배경

웹 개발을 하다보면 서버에서 데이터를 받아와 화면에 표시하거나 할 때 비동기로 처리해야한다고 하면 콜백에 콜백을 계속 사용하는 형식으로 코딩을 하게 된다.
비동기적 코드가 많아지면서 기하급수적으로 늘어나는 콜백 때문에 코드 전체의 로직을 가늠하기 어려운 경우가 많다. 이를 해결하기 위해 Promise가 등장했다.

프로미스 객체를 생성해야한다. new Promise로 프로미스를 생성할 수 있다.
promise란 자바스크립트 비동기 처리에 사용되는 객체입니다.
데이터를 받아오는데 데이터를 받아오기전에 이미 받은 것처럼 화면에 데이터가 표시되는데
그런 오류를 해결하기 위한 방법 중 하나입니다.

프로미스의 3가지 상태

  • Pending(대기) : 비동기 처리 로직이 아직 완료되지 않은 상태
  • Fulfilled(이행) : 비동기 처리가 완료되어 프로미스가 결과 값을 반환해준 상태
  • Rejected(실패) : 비동기 처리가 실패하거나 오류가 발생한 상태

promise에선 두가지 인자값을 받는데 resolve와 reject이다.
resolve를 선언하면 Fulfilled 상태가 되며, reject같은 경우는 받아오지 못했을 경우 실패의 경우이다.
Promise는 성공 혹은 실패 둥 중 하나만 일어난다.
성공, 혹은 실패로 결정된 Promise의 상태는 변할 수 없다.

promise는 .then()으로 chaining이 가능해서, 콜백헬이 만들어지지 않음.
promise에서 resolve 불렀을 경우, then을 수행,
reject가 불리면 .catch()내용이 수행됨

프로미스를 좀더 보완한 것이 async& await

<나중에 더 추가할 내용>
사용방법 2가지 then catch, async await을 2가지를 말해라.

profile
Developer
post-custom-banner

0개의 댓글