14.1.3 async/await

    async/awaitPromise를 더욱 쉽게 사용할 수 있도록 해 주는 ES2017(ES8) 문법입니다. 이 문법을 사용하려면 함수의 앞부분에 async 키워드를 추가하고, 해당 함수 내부에서 Promise의 앞부분에 await 키워드를 사용합니다. 이렇게 하면 Promise가 끝날 때까지 기다리고, 결과 값을 특정 변수에 담을 수 있습니다.

    function increase(number) {
    const promise = new Promise((resolve, reject) => {
      // resolve 성공, reject 실패
      setTimeout(() => {
        const result = number + 10;
        if (result > 50) { // 50보다 높으면 에러 발생시키기
          const e = new Error('NumberTooBig');
                  return reject(e);
        }
              resolve(result); // number 값에 +10  성공 처리
      }, 1000)
    });
    return promise;
    }
     
    async function runTasks() {
    try { // try/catch 구문을 사용하여 에러를 처리합니다.
      let result = await increment(0);
      console.log(result);
      result = await increment(result);
      console.log(result);
      result = await increment(result);
      console.log(result);
      result = await increment(result);
      console.log(result);
      result = await increment(result);
      console.log(result);
      result = await increment(result);
      console.log(result);
    } catch (e) {
      console.log(e);
    }
    }
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.