자바스크립트 async와 await의 사용 예제

ES2017부터 도입된 async/await는 자바스크립트에서 비동기적으로 동작하는 코드를 보다 간편하게 작성할 수 있는 기능입니다. 이 기능을 사용하면 비동기식 코드를 동기식처럼 작성할 수 있어 코드의 가독성을 향상시키고 디버깅을 용이하게 만들어 줍니다.

아래 예제에서는 자바스크립트의 fetch API를 활용하여 데이터를 비동기적으로 가져오는 과정을 보여줍니다. 이 때 fetch 함수는 프로미스를 반환하므로, 기존의 thencatch를 사용한 비동기 코드보다 async/await를 사용한 코드가 더 간결하고 이해하기 쉽습니다.

async function fetchData(url) {
  try {
    const response = await fetch(url);
    const data = await response.json();
    return data;
  } catch (error) {
    console.log("Error:", error);
  }
}

async function printData() {
  const url = "https://api.example.com/data";
  const data = await fetchData(url);
  console.log("Data:", data);
}

printData();

위 예제에서 fetchData 함수는 await fetch(url)로 API로부터 데이터를 가져오고, response.json()을 사용하여 데이터를 해석합니다. printData 함수에서는 fetchData 함수를 호출하고 결과를 await하여 데이터를 얻은 뒤 콘솔에 출력합니다.

async/await를 사용하면 프로미스 체이닝을 사용하는 대신 비동기 코드를 동기식으로 작성할 수 있습니다. 이를 통해 코드의 구조와 의도를 명확하게 표현할 수 있으며, 에러 처리도 간단하게 처리할 수 있습니다.

이와 같이 async/await를 사용하여 자바스크립트의 비동기 코드를 더욱 간결하게 작성할 수 있습니다. 직관적인 구문과 강력한 기능으로 인해 async/await는 현대적인 자바스크립트 개발에서 활용될 수 있는 매우 유용한 도구입니다.