프로미스

// Promise 객체의 생성
const promise = new Promise((resolve, reject) => {
  // 비동기 작업을 수행한다.

  if (/* 비동기 작업 수행 성공 */) {
    resolve('result'//비동기처리결과);
  }
  else { /* 비동기 작업 수행 실패 */
    reject('failure reason');
  }
});

비동기 작업을 수행하고 비동기 작업이 성공했을 때 resove함수 호출, 실패했을 때 reject 함수 호출 resolve 메소드가 호출 될 때 인자로 비동기 처리 결과를 전달받는다. 그리고 resolve, reject 실행 결과를 프로미스의 후속처리 메소드 (then,catch)의 인자로 전달