Promise   프라미스 객체

(2021-06-02)

프로미스, 프라미스

1. Promise 객체

  ㅇ `비동기 작업`과 `그 작업 완료 결과에 따라 해야 할 일`을 캡슐화일급 객체

  ㅇ 장래에 일어날 결과에 따라, 선택적으로 어떤 함수를 실행(호출)할 것을 약속 함
     - 즉, 장래 작업 완료 시에, 그 결과(success,fail)에 따라,
     - 이에 대응하는 적절한 메소드로써, 콜백함수(promise 객체캡슐화됨)를 호출하게 함

  ㅇ [참고용어] 
     - 일급객체 : 함수의 입력(매개변수),출력(리턴값)에 쓰일 수 있는 객체
     - 콜백함수 : 다른 함수인수로써 넘겨질 수 있는 함수


2. Promise 객체의 생성 및 진행과정

  ㅇ promise 생성자 문법 예시
      
const promise = new Promise( (resolve, reject) => {
    if (success) resolve(value);    // 비동기 작업 성공시, 수행되는 콜백함수
    else reject(error);             // 비동기 작업 실패시, 수행되는 콜백함수
});
ㅇ promise 생성 및 진행 과정 - 비동기 동작의 요청/호출이 필요할 때 (aync call), - 미리 정의된 promise 객체를 생성하면서 (promise object created), . 이때, 2개 인수로써, resolve(),reject()를 전달 받음 - 작업 진행 상태를 구분하고 (pending 등), ☞ 아래 4.항 참조 - 결과 처리를 함 (outcome) . 결과(success:성공,fail:실패)에 대한 리턴값(value,error) 전달 ㅇ promise 결과 리턴 및 처리 - 작업 결과에 따른 리턴값 전달 (return) . 비동기 작업 요청시 생성된 promise 객체는, . 작업 결과(success:성공,fail:실패)에 따라, . 각각 그에맞는 리턴 값을 전달 함 - 결과 처리 (method) . 작업 결과(success:성공,fail:실패)에 따라, 그에맞는 메소드 실행 . 성공시, 실행 메소드로써 콜백함수 resolve(성공 결과값)을 호출 . 실패시, 실행 메소드로써 콜백함수 reject(실패 오류값)를 호출 - 한편, promise 객체의 결과 처리를 위한 체이닝 방법으로써, ☞ 아래 3.항 참조 . then() 및 catch()가 있음 3. Promise 객체메소드 ※ 생성된 promise 객체는, 비동기 작업 결과에 따라, - 그에맞는 콜백함수를 then(),catch()에 인수로써 전달함 ㅇ then 메소드 : 성공시 처리할 메소드 - promise.then(success_cb, fail_cb) . promise : 생성된 promise 객체 . success_cb : 성공시 콜백함수 (promise 객체 내 resolve에 의해 호출됨) . fail_cb : 실패시 콜백함수 (promise 객체 내 reject에 의해 호출됨) ㅇ catch 메소드 : 거절(실패)시 처리할 메소드 - promise.catch(fail_cb) . promise : 생성된 promise 객체 . fail_cb : 실패시 콜백함수 (promise 객체 내 reject에 의해 호출됨) 4. Promise 객체의 진행 상태 구분 ㅇ 대기중 (Pending) ㅇ 이행됨 (Fulfilled) ㅇ 거부됨 (Rejected)


[JS 객체] 1. JS 객체 2. JS 객체 구분 3. JS 객체의 생성 저장 접근 4. JS 클래스 5. 프로토타입 객체 6. 프라미스 객체 7. 일급 객체 8. 래퍼 객체 9. 콘솔 객체 10. this 참조 11. 이터레이터 12. 제너레이터 13. 범용 객체

 
        최근수정     요약목록     참고문헌