← 목록

비동기 JavaScript를 활용한 데이터 가져오기 🌐

작성: 2024년 08월 11일읽기: 약 3분

비동기 JavaScript는 웹 개발에서 중요한 부분입니다. 이를 통해 사용자 경험을 향상시키고, 웹 페이지가 데이터를 로드하는 동안 멈추지 않도록 할 수 있습니다. 오늘은 이 기술을 사용하여 데이터를 어떻게 가져오는지 알아보겠습니다.

기본 이해

웹 페이지가 서버로부터 데이터를 요청할 때, 비동기 처리를 사용하면 해당 요청이 백그라운드에서 이루어지며, 데이터가 도착하면 페이지에 표시됩니다. 이는 페이지 전체를 새로고침하지 않고도 새로운 데이터를 표시할 수 있게 해줍니다.

예제: Fetch API 사용하기

JavaScript에서 가장 간단하게 비동기 요청을 처리하는 방법 중 하나는 fetch API를 사용하는 것입니다. 아래는 간단한 예제 코드입니다.

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

이 코드는 다음과 같이 작동합니다:

  1. fetch 함수는 웹 API로부터 데이터를 요청합니다. 이 함수는 Promise를 반환합니다, 즉 요청이 완료될 때까지 기다리지 않고 즉시 실행됩니다.
  2. then 메소드는 요청이 성공적으로 완료되면 실행됩니다. 첫 번째 then은 응답을 JSON 형태로 변환합니다.
  3. 두 번째 then은 변환된 데이터를 받아와서 콘솔에 출력합니다.
  4. 만약 요청 중에 오류가 발생하면, catch 블록이 실행되어 오류를 처리합니다.

Async/Await 사용하기

더 깔눔하고 동기적인 코드의 모습으로 비동기 코드를 작성하고 싶다면, asyncawait를 사용할 수 있습니다. 위의 예제를 async/await를 사용하여 다시 작성해 보겠습니다.

async function fetchData() {
  try {
    const response = await fetch('https://api.example.com/data');
    const data = await response.json();
    console.log(data);
  } catch (error) {
    console.error('Error:', error);
  }
}

fetchData();

이 코드는 다음과 같이 작동합니다:

  1. async 함수 fetchData를 선언합니다. 이 함수 내부에서는 await 키워드를 사용하여 비동기 작업을 기다립니다.
  2. fetch 함수로 데이터를 요청하고, await를 사용하여 요청이 완료될 때까지 기다립니다.
  3. 요청이 완료되면, 응답을 JSON으로 변환하고, 결과 데이터를 콘솔에 출력합니다.
  4. 요청 중 오류가 발생하면, catch 블록이 실행되어 오류를 처리합니다.

마무리

비동기 JavaScript를 사용하면 사용자 경험을 크게 향상시킬 수 있습니다. fetch API와 async/await는 이를 위한 강력한 도구입니다. 이 기술들을 활용하여, 사용자에게 더욱 빠르고 부드러운 웹 경험을 제공해 보세요.