← 목록

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

작성: 2024년 02월 21일읽기: 약 3분

웹 개발의 세계에서 데이터를 다루는 것은 필수적인 기술입니다. 특히, 웹 페이지가 서버로부터 데이터를 가져오거나 보낼 때, 이 과정을 사용자 경험을 해치지 않으면서 부드럽게 처리하는 것이 중요합니다. 여기서 비동기 JavaScript의 역할이 빛을 발합니다. 이 글에서는 비동기 JavaScript를 활용하여 데이터를 가져오는 방법을 쉽게 설명해 드리겠습니다.

비동기 JavaScript란 무엇인가요?

간단히 말해서, 비동기 JavaScript를 사용하면 웹 페이지가 서버로부터 데이터를 요청하고 기다리는 동안에도 사용자는 페이지를 자유롭게 탐색할 수 있습니다. 이는 웹 애플리케이션의 반응성을 크게 향상시킵니다.

fetch를 사용한 예제

fetch 함수는 비동기적으로 서버로부터 데이터를 가져오는 가장 기본적인 방법 중 하나입니다. 아래는 간단한 fetch 사용 예제입니다:

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

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

  1. fetch 함수는 주어진 URL로부터 데이터를 요청합니다.
  2. 데이터가 성공적으로 도착하면, 첫 번째 .then()이 실행되어 응답을 JSON 형태로 변환합니다.
  3. 두 번째 .then()에서는 변환된 데이터를 콘솔에 출력합니다.
  4. 만약 요청 중에 오류가 발생하면, .catch()가 실행되어 오류를 콘솔에 출력합니다.

asyncawait 사용하기

더 깔끔하고 이해하기 쉬운 코드를 작성하고 싶다면, asyncawait를 사용할 수 있습니다. 이 방법은 fetch와 함께 사용될 때 코드를 더 읽기 쉽게 만들어줍니다:

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();

이 코드는 앞선 예제와 동일한 작업을 수행하지만, asyncawait를 사용하여 더 선언적이고 동기적인 코드 흐름을 가지도록 만들었습니다. try...catch 구문을 사용하여 오류를 처리하는 방법도 볼 수 있습니다.

마무리

비동기 JavaScript는 웹 개발에서 매우 중요한 부분입니다. fetch와 같은 함수와 async, await와 같은 키워드를 사용하여, 사용자 경험을 해치지 않으면서 데이터를 효율적으로 처리할 수 있습니다. 이 기술들을 잘 활용하면, 더 빠르고 반응성이 좋은 웹 애플리케이션을 만들 수 있습니다.