자바스크립트 async/await와 try-catch문 사용하기

자바스크립트에서 비동기 작업을 처리하는 방법은 매우 중요합니다. 이전에는 콜백 함수와 Promise를 사용하여 비동기 작업을 다루었지만, 최근에는 async/awaittry-catch문을 사용하여 코드를 더 간결하고 가독성있게 작성할 수 있습니다.

async/await란?

async/await는 ES2017에서 도입된 자바스크립트의 비동기 처리 패턴입니다. 이 패턴은 비동기 작업을 동기적으로 처리할 수 있도록 해줍니다.

async라는 키워드는 함수 앞에 사용되며, 해당 함수 내에서 비동기 작업이 일어날 수 있음을 알려줍니다. awaitPromise 객체 앞에 사용되며, 해당 프로미스가 resolve되기를 기다린 다음 프로미스가 반환하는 값을 동기적으로 받을 수 있게 합니다.

예제 코드

async function getData() {
  try {
    const response = await fetch('https://api.example.com/data');
    const data = await response.json();
    console.log(data);
  } catch (error) {
    console.error('Error occurred:', error);
  }
}

위의 예제 코드는 fetch 함수를 사용하여 비동기적으로 데이터를 가져오는 함수입니다. async 키워드를 사용하여 getData 함수를 비동기 함수로 만들었고, await 키워드를 사용하여 fetch 함수와 response.json() 메서드의 비동기 작업이 완료될 때까지 기다립니다.

이렇게 코드를 작성하면 데이터를 가져오는 동안 일시 중단되며, 데이터를 성공적으로 가져온 경우 data 값을 출력하고, 실패한 경우 catch 블록 내에서 발생한 에러를 처리합니다.

정리

async/await는 자바스크립트로 비동기 작업을 처리하는 강력한 도구입니다. 이를 사용하면 코드를 간결하고 가독성있게 작성할 수 있으며, try-catch문을 사용하여 예외 처리를 할 수 있습니다. 이러한 기능들은 복잡한 비동기 작업을 처리하는 데 있어서 매우 유용하며, 모던 자바스크립트 프로젝트에서는 반드시 알아두어야 할 것입니다.