2.1.7 프로미스

    자바스크립트와 노드에서는 주로 비동기를 접합니다. 특히 이벤트 리스너를 사용할 때 콜백 함수를 자주 사용합니다. ES2015부터는 자바스크립트와 노드의 API들이 콜백 대신 프로미스(Promise) 기반으로 재구성되며, 악명 높은 콜백 지옥(callback hell) 현상을 극복했다는 평가를 받고 있습니다. 프로미스는 반드시 알아둬야 하는 객체이므로 이 책뿐만 아니라 다른 자료들을 참고해서라도 반드시 숙지해야 합니다.

    프로미스는 다음과 같은 규칙이 있습니다. 먼저 프로미스 객체를 생성해야 합니다.

    const condition = true; // true이면 resolve, false이면 reject
    const promise = new Promise((resolve, reject) => {
      if (condition) {
        resolve('성공');
      } else {
        reject('실패');
      }
    });
    // 다른 코드가 들어갈 수 있음
    promise
      .then((message) => {
        console.log(message); // 성공(resolve)한 경우 실행
      })
      .catch((error) => {
        console.error(error); // 실패(reject)한 경우 실행
      })
      .finally(() => { // 끝나고 무조건 실행
        console.log('무조건');
    });
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.