Promise와 함께 사용하는 AJAX 호출 방법

Promise는 JavaScript에서 비동기식 작업을 처리하는 데 사용되는 객체입니다. AJAX 호출과 함께 Promise를 사용하면 비동기 작업을 더욱 간편하고 가독성 좋게 처리할 수 있습니다. 이번 글에서는 Promise와 함께 AJAX 호출을 어떻게 처리하는지 알아보겠습니다.

AJAX 호출 설정하기

먼저, AJAX 호출을 설정하는 방법부터 살펴보겠습니다. 아래의 예제 코드는 fetch 함수를 사용하여 AJAX 호출을 설정하는 방법입니다.

fetch('https://api.example.com/data')
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.log(error));

이 코드는 fetch 함수를 사용하여 https://api.example.com/data URL로 AJAX 호출을 보냅니다. then 메서드를 사용하여 반환된 응답을 JSON 형식으로 변환하고, 다음 then 메서드를 사용하여 JSON 데이터를 처리합니다. catch 메서드는 에러 발생 시 처리할 함수를 지정합니다.

Promise와 함께 AJAX 호출 처리하기

이번에는 Promise와 함께 AJAX 호출을 처리하는 방법을 알아보겠습니다. Promise를 사용하여 코드를 간결하게 작성할 수 있습니다.

function makeAjaxRequest(url) {
  return new Promise((resolve, reject) => {
    const xhr = new XMLHttpRequest();
    xhr.open('GET', url);
    xhr.onload = function() {
      if (xhr.status === 200) {
        resolve(xhr.response);
      } else {
        reject(Error(xhr.statusText));
      }
    };
    xhr.onerror = function() {
      reject(Error("Network Error"));
    };
    xhr.send();
  });
}

makeAjaxRequest('https://api.example.com/data')
  .then(response => console.log(response))
  .catch(error => console.log(error));

위의 코드에서 makeAjaxRequest 함수는 Promise 객체를 반환합니다. AJAX 호출을 처리하는 동안 발생한 성공 및 실패 상태를 resolvereject 함수로 전달합니다. 이후 thencatch 메서드를 사용하여 성공 및 실패 시 어떻게 처리할지 정의합니다.

이제 Promise와 함께 AJAX 호출을 처리하는 방법에 대해 알게 되었습니다. Promise를 사용하면 비동기 작업을 더욱 편리하게 처리할 수 있으며, 코드의 가독성을 향상시킬 수 있습니다. 이러한 기술은 프론트엔드 개발에서 자주 사용되므로, 앞으로 프로젝트에서 활용해 볼 만한 가치가 있습니다.

#JavaScript #AJAX #Promise