[JavaScript] Promise

bery·2020년 11월 29일
0

Promise란?

  • promise의 어원 ‘약속하다’
  • 자바스크립트 비동기 처리에 사용되는 객체
  • Promise는 비동기 연산을 수행하고 연산이 종료되면 결과를 알려주기 위해 사용 (비동기 연산 결과를 알려주겠다고 약속하는 것)
  • Promise 는 ES6에 추가 된 객체. ES6 를 지원하지 브라우저에서 사용하려면 polyfill(지원하지 않는 이전 브라우저에서 최신 기능을 제공하는 데 필요한 코드)을 해야 한다.

Promise 상태종류 & 사용 코드

  • Promise 객체는 3가지 상태 중에 하나를 가진다.

    • 대기(pending): 아직 작업이 완료되지 않은 상태 또는 초기 상태

    • 이행(fulfilled): 작업이 성공적으로 완료된 상태

    • 거부(rejected): 작업 수행 중, 어떠한 요인으로 인해 실패한 상태

  • 작업이 성공적으로 완료되면 Promise.resolve() 메소드를 통해 결과 값으로 이행하는 Promise 객체를 반환한다.

  • 작업이 실패(에러) 되면 Promise.reject() 메소드를 통해 거부하는 Promise 객체를 반환한다.

프로미스의 에러 처리 방법

실제 서비스를 구현하다 보면 네트워크 연결, 서버 문제 등으로 인해 오류가 발생할 수 있다.

프로미슷의 에러 처리 방법에는 2가지 방법이 있다.

  1. then()
  2. catch()

프로미스 에러 처리는 가급적 catch()를 사용

개개인의 코딩 스타일에 따라서 then()의 두 번째 인자로 처리할 수도 있고 catch()로 처리할 수도 있겠지만 가급적 catch()로 에러를 처리하는 게 더 효율적이다. catch()는 더 많은 예외 처리 상황을 위해 사용된다.

0개의 댓글