← 목록

async/await를 활용한 JavaScript 비동기 프로그래밍

작성: 2024년 11월 22일읽기: 약 2분

비동기 프로그래밍은 웹 개발에서 중요한 부분입니다. JavaScript에서 asyncawait는 이를 더 쉽게 만들어줍니다. 이 글에서는 이 두 키워드를 사용하여 비동기 코드를 어떻게 간단하고 읽기 쉽게 만들 수 있는지 알아보겠습니다.

async와 await란 무엇인가?

asyncawait는 JavaScript에서 비동기 작업을 다루는 현대적인 방식입니다. async 함수는 항상 프로미스(Promise)를 반환하며, await 키워드는 프로미스가 완료될 때까지 함수의 실행을 일시적으로 멈춥니다.

기본 사용법

async 함수 안에서 await를 사용하는 기본적인 형태를 살펴봅시다.

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

fetchData();

위 코드에서 fetchData 함수는 async로 선언되었습니다. 이는 함수 내부에서 await를 사용할 수 있음을 의미합니다. fetch 함수는 네트워크 요청을 비동기적으로 처리하고, await는 그 요청의 결과가 나올 때까지 기다립니다. 그 후, 응답을 JSON 형태로 변환하고, 최종 데이터를 콘솔에 출력합니다.

에러 처리

비동기 함수에서 에러를 처리하는 방법은 try...catch 구문을 사용하는 것입니다.

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

fetchData();

이 코드는 fetch 호출이 실패할 경우를 대비하여 에러 처리를 추가했습니다. try 블록 안에서 코드를 실행하다가 에러가 발생하면, catch 블록이 실행되어 에러를 처리합니다.

결론

asyncawait를 사용하면 JavaScript에서 비동기 코드를 작성하는 것이 훨씬 간단해집니다. 복잡한 프로미스 체인 대신, 마치 동기 코드처럼 보이는 깔끔하고 읽기 쉬운 코드를 작성할 수 있습니다. 이 기능을 활용하여 더 효율적이고 관리하기 쉬운 비동기 코드를 만들어 보세요.