이 코드의 출력 결과는 다음과 같습니다.
1 * 2 = 2 2 * 2 = 4 4 * 2 = 8 8 * 2 = 16 최종 결과는 16입니다.
double 함수에서 Promise를 만들어 코드를 개선해볼까요? Promise를 만드는 방법은 다음과 같습니다.
const promise new Promise((resolve, reject) => { // ... })
Promise를 만들 때는 resolve와 reject를 파라미터로 받아오는 함수를 인자로 넣습니다. resolve와 reject는 둘 다 함수 타입으로 resolve는 작업이 성공했을 때 호출하는 함수, reject는 작업이 실패했을 때 호출하는 함수입니다. resolve 또는 reject 함수를 호출할 때는 결괏값 또는 오류를 인자로 넣어줄 수 있습니다.
double 함수에서 Promise를 만들고 이를 반환해보겠습니다.
function (number) { const promise new Promise((resolve, reject) => { (() => { if (typeof number !== 'number') { (new Error('Parameter is not a valid,')) return; } const result = number * 2; console.(`${number} * 2 = ${result}`); (result); }, 500) }) return promise; }