async/await를 활용한 JavaScript 비동기 프로그래밍
비동기 프로그래밍은 웹 개발에서 중요한 부분입니다. JavaScript에서 async
와 await
는 이를 더 쉽게 만들어줍니다. 이 글에서는 이 두 키워드를 사용하여 비동기 코드를 어떻게 간단하고 이해하기 쉽게 만들 수 있는지 알아보겠습니다.
async와 await란 무엇인가?
async
와 await
는 JavaScript에서 비동기 작업을 다루는 현대적인 방식입니다. async
함수는 항상 프로미스(Promise)를 반환하며, await
키워드는 프로미스가 완료될 때까지 함수의 실행을 일시적으로 중단합니다.
예제를 통해 이해하기
비동기 함수를 만들기 위해서는 함수 선언 앞에 async
를 붙입니다. 그리고 프로미스를 기다릴 때는 await
를 사용합니다. 아래는 간단한 예제입니다.
async function getUser() {
let response = await fetch('https://api.github.com/users/example');
let data = await response.json();
console.log(data);
}
getUser();
이 코드는 GitHub의 API에서 사용자 정보를 가져옵니다. fetch
함수는 네트워크 요청을 비동기적으로 처리하며, 프로미스를 반환합니다. await
를 사용함으로써, 프로미스가 완료될 때까지 기다린 후 다음 코드 라인으로 넘어갑니다. 이 방식으로, 비동기 코드를 동기 코드처럼 읽고 쓸 수 있습니다.
에러 처리
비동기 함수에서 에러를 처리하려면 try
와 catch
를 사용할 수 있습니다.
async function getUser() {
try {
let response = await fetch('https://api.github.com/users/example');
let data = await response.json();
console.log(data);
} catch (error) {
console.error('데이터를 가져오는 데 실패했습니다:', error);
}
}
getUser();
이 예제에서는 try
블록 안에서 비동기 작업을 수행합니다. 만약 어떤 에러가 발생한다면, catch
블록이 실행되어 에러를 처리합니다.
결론
async
와 await
를 사용하면 JavaScript에서 비동기 코드를 훨씬 쉽고 직관적으로 작성할 수 있습니다. 이 기능을 활용하여, 복잡한 비동기 로직도 간단하게 처리해보세요. Happy coding!