개발일지

[Javascript]promise 본문

javascript

[Javascript]promise

강강강 2021. 7. 6. 08:52

“A promise is an object that may produce a single value some time in the future”

자바스크립트 비동기 처리에 사용되는 객체  (비동기 처리란 특정 코드의 실행이 완료될 때까지 기다리지 않고 다음 코드를 먼저 수행하는 자바스크립트의 특성)

 

  • promise 왜 필요한지?
    : 비동기적인 함수 호출을 원하는대로 컨트롤하기 위해 (상태값 제공)
  • promise 의 3가지 상태 
    1) Pending (대기) : 비동기 처리 로직이 아직 완료되지 않은 상태 / promise객체가 생성되어 사용될 준비가 된
    2) Fulfilled (이행 [완료]) : 비동기 처리가 완료되어 promise 가 결과값을 반환해준 상태 / 비동기 처리에 의해 원하는 올바른 결과를 얻어와 그 결과를 정상적으로 처리하고자 resolve가 호출된 상태 
    3) Rejected (실패) : 비동기 처리가 실패하거나 오류가 발생한 상태 / 무언가 잘못되어 예외로 처리하고자 reject 가 호출된 상태

  • async , await 
    : 범위를 새로 만들지 않고 promise 를 이행시키기 위해 async 와 await 등장 
    : 항상 붙어다니고, promise 객체에서만 사용 

async function 함수명() { await 비동기_처리_메소드명(); }