Promise를 활용한 데이터 비동기 처리 예시

데이터를 비동기로 처리하는 과정에서 JavaScript Promise는 매우 유용한 도구입니다. Promise는 비동기 작업의 성공 또는 실패를 표현하고, 그 결과를 다른 처리로 전달하는 것을 도와줍니다.

다음은 Promise를 사용하여 데이터를 비동기적으로 처리하는 예시 코드입니다.

function fetchData() {
  return new Promise((resolve, reject) => {
    // 비동기 작업 수행
    setTimeout(() => {
      const data = { message: "데이터를 가져왔습니다." };
      // 성공적으로 데이터를 가져왔을 경우 resolve 호출
      resolve(data);
      // 데이터를 가져오지 못했을 경우 reject 호출
      // reject(new Error("데이터를 가져오지 못했습니다."));
    }, 2000); // 2초 후에 데이터 가져오기 완료
  });
}

// Promise 사용하기
fetchData()
  .then((data) => {
    console.log(data.message); // 데이터 가져오기 성공 시 실행되는 코드
  })
  .catch((error) => {
    console.error(error.message); // 데이터 가져오기 실패 시 실행되는 코드
  });

위의 코드에서 fetchData() 함수는 Promise 객체를 생성하고, 비동기 작업을 수행합니다. 그 후, 비동기 작업이 완료되면 데이터를 성공적으로 가져오면 resolve를 호출하고, 데이터를 가져오지 못했을 경우 reject를 호출합니다.

이후 .then()을 사용하여 성공적으로 데이터를 가져왔을 때 실행할 코드와, .catch()를 사용하여 데이터를 가져오지 못했을 때 실행할 코드를 작성합니다.

이 예시 코드에서는 데이터를 가져오는데 2초가 걸리도록 setTimeout을 사용하였습니다. 데이터를 성공적으로 가져왔을 때와 실패했을 때 해당하는 메시지가 콘솔에 출력됩니다.

이와 같은 방식으로 Promise를 활용하여 데이터를 비동기적으로 처리할 수 있습니다.

#javascript #promise