이번에는 이전 절에서 작성한 doubleasync, await 문법과 함께 사용해봅시다.

    function double(number) {
      const promise = new Promise((resolve, reject) => {
        setTimeout(() => {
          if (typeof number !== 'number') {
            reject(new Error('Parameter is not valid'))
            return;
          }
          const result = number * 2;
          console.log(`${number} * 2 = ${result}`);
          resolve(result);
        }, 500)
      })
      return promise;
    }
    
    async function process() {
      let result = 1;
      result = await double(result);
      result = await double(result);
      result = await double(result);
      result = await double(result);
      return result;
    }
    
    process().then(
      result => {
        console.log(`최종 결과: ${result}`)
      }
    )
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.