모던자바스크립트 Promise

BackEnd_Ash.log·2021년 5월 2일
0

📌프로미스와 비동기 프로그래밍

비동기 프로그래밍을 쉽게 처리할 수 있다는 점은 자바스크립트의 장점중 하나이다.

비동기 프로그래밍을 사용하여 제작되면서 이벤트와 콜백만으로는 개발자가 원하는 모든 것을 충분히 지원할 수가 없었다.

프로미스는 이런 문제에 대한 해결책이다.

그러면 프로미스는 무엇인가 ??

👉 프로미스

이러한 프로미스는

성공인지 실패인지 기초한 여러 개의 프로미스를 연결하여 이해하기 쉽고 , 디버깅 하기 쉽다.

👉 비동기 프로그래밍 배경지식

👉이벤트 모델

👉콜백 패턴

이러한 콜백패턴은 여러개의 호출 연결이 쉽다.

하지만 여러개의 콜백패턴을 여러개 호출해서 연결하게 되면...

👉 프로미스 기초

const condition = true;
const promise = new Promise((resolve, reject) => {
  if(condition) {
   resolve('성공');
  } else {
    reject('실패');
  }
});

promise
  .then(message => console.log(message))// resolve가 호출되면 실행
  .catch(error => console.error(error));// reject가 호출되면 실행

프로미스 내부의 [[PromiseState]] 프로퍼티는 프로미스의 상태를 반영하여
pending 이나 fulfuilled , rejected 로 설정된다.

프로미스 객체에 노출되지 않으므로 프로그램적으로 어떤 상태를 정할 수 없다.

하지만 then() 메서드를 사용하여 프로미스의 상태가 변경 될 때 특정 동작을 취하도록 할 수 있다.

또한 프로미스는 실패 핸들러만 받는 then() 과 동일하게 동작하는 catch() 메서드를 가지게 된다.

프로미스 장점

  • 비동기 프로세싱의 가독성 향상
  • 획기적인 에러핸들링
  • 비동기 실행의 상태 확인
  • 객체를 함수 인자로 넘길 수 있다.
profile
꾸준함이란 ... ?

0개의 댓글