자바스크립트 async와 await의 사용 예제
ES2017부터 도입된 async/await는 자바스크립트에서 비동기적으로 동작하는 코드를 보다 간편하게 작성할 수 있는 기능입니다. 이 기능을 사용하면 비동기식 코드를 동기식처럼 작성할 수 있어 코드의 가독성을 향상시키고 디버깅을 용이하게 만들어 줍니다.
아래 예제에서는 자바스크립트의 fetch
API를 활용하여 데이터를 비동기적으로 가져오는 과정을 보여줍니다. 이 때 fetch
함수는 프로미스를 반환하므로, 기존의 then
과 catch
를 사용한 비동기 코드보다 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
는 현대적인 자바스크립트 개발에서 활용될 수 있는 매우 유용한 도구입니다.