티스토리 뷰

🌈 JavaScript

Promise()객체

James Wetzel 2023. 8. 18. 10:54

Promise는 자바스크립트에서 비동기 작업을 처리하기 위한 객체입니다. 

비동기 작업은 결과가 언제 도착할지 확신할 수 없는 작업을 의미하며, 예를 들어 

 

서버에서 데이터를 가져오거나 파일을 읽는 작업 등이 해당됩니다. 

Promise는 이런 비동기 작업을 더 효율적으로 처리하고 결과를 다루기 위한 패턴을 제공합니다.

 

// Promise를 사용하여 비동기적으로 숫자를 제곱하는 함수
function squareNumberAsync(number) {
  return new Promise((resolve, reject) => {
    if (typeof number !== 'number') {
      reject('Input is not a number'); // 오류 처리
    } else {
      setTimeout(() => {
        const result = number * number;
        resolve(result); // 성공 처리
      }, 1000); // 1초 후에 결과 반환
    }
  });
}

// Promise 사용 예제
squareNumberAsync(5)
  .then(result => {
    console.log('Result:', result);
  })
  .catch(error => {
    console.error('Error:', error);
  });

 

위 코드에서 squareNumberAsync 함수는 입력된 숫자를 제곱하는 작업을 비동기적으로 처리합니다. Promise 객체를 생성하여 비동기 작업을 감싸고, resolve 함수로 성공적인 결과를 전달하거나 reject 함수로 오류를 처리합니다. setTimeout 함수를 사용하여 1초 후에 결과를 반환하는 것을 시뮬레이션합니다.

Promise를 사용한 비동기 작업을 처리하기 위해 .then() 메서드는 성공적인 결과를 처리하고, .catch() 메서드는 오류를 처리합니다.

이런 방식으로 Promise를 사용하여 비동기 작업을 효과적으로 처리할 수 있습니다. Promise는 콜백 지옥을 피하고 코드를 더 구조화하며 유지보수 가능한 형태로 만들어주는데 도움이 됩니다.

반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함