[javascript] 프로미스의 then 메소드와 resolve, reject 함수 활용 방법

resolve 함수는 프로미스가 성공적으로 처리되었을 때 호출됩니다. 이 함수는 그 이후의 then 메소드로 넘어가며, 인자로 성공 결과를 전달합니다. reject 함수는 프로미스 처리 중 에러가 발생했을 때 호출됩니다. 이 함수는 then 메소드의 catch 함수로 이동하며, 에러 메시지를 인자로 받습니다.

아래는 프로미스의 then 메소드와 resolve, reject 함수를 활용한 예제입니다.

function fetchData() {
  return new Promise((resolve, reject) => {
    // 비동기 작업 수행
    setTimeout(() => {
      const data = { name: 'John', age: 30 };
      // 성공적으로 데이터를 가져왔을 때 resolve 함수 호출
      resolve(data);
    }, 2000);
  });
}

fetchData()
  .then((result) => {
    // 데이터 처리 로직
    console.log(result);
  })
  .catch((error) => {
    // 에러 처리 로직
    console.error(error);
  });

위의 예제에서 fetchData 함수는 Promise 객체를 반환합니다. 비동기 작업을 수행하고 난 후, 성공적으로 데이터를 가져온 경우 resolve 함수를 호출합니다. then 메소드를 통해 결과값을 처리하고, catch 메소드를 통해 에러를 처리합니다.

이렇게 then 메소드와 resolve, reject 함수를 사용하면 프로미스를 효과적으로 다룰 수 있습니다. 자바스크립트의 비동기 처리를 할 때는 프로미스를 활용하면 코드의 가독성과 유지보수성을 높일 수 있습니다.

참고 자료: