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

자바스크립트에서 비동기 코드를 다루는 방법은 매우 중요합니다. 이러한 비동기 코드를 처리하는 가장 일반적인 방법은 async/awaittry-catch문을 사용하는 것입니다.

async/await란?

async/await는 자바스크립트의 비동기 처리를 위한 문법적인 도구입니다. 이를 통해 비동기 코드를 동기적으로 작성하고 읽기 쉽게 만들 수 있습니다. async/await는 기본적으로 Promise를 기반으로 동작합니다.

async 키워드를 함수 앞에 붙여 해당 함수를 비동기 함수로 지정합니다. async 함수 안에서 await 키워드를 사용하여 비동기 작업을 기다릴 수 있습니다. await는 Promise 객체가 settled될 때까지 함수의 실행을 일시 중단합니다.

아래는 간단한 async/await 예제입니다.

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

위의 예제에서 fetchData 함수는 비동기 함수로 지정됩니다. 함수 내부에서는 fetch 메소드를 사용하여 데이터를 가져오고, await 키워드를 사용하여 response의 settled를 기다린 뒤 데이터를 JSON 형식으로 변환합니다. 만약 에러가 발생하면 catch 블록에서 에러를 처리합니다.

try-catch문과 함께 사용하기

try-catch문은 에러가 발생할 수 있는 부분을 감싸서 에러를 처리하는 구문입니다. async/await와 함께 사용하면 비동기 코드에서 발생한 에러를 쉽게 처리할 수 있습니다.

async/await 함수 내에서 try 블록 안에 비동기 코드를 작성하고, catch 블록 안에서 에러를 처리합니다. catch 블록은 try 블록 내에서 발생한 에러를 잡아서 처리하는 역할을 합니다.

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

위의 예제에서 fetch 메소드와 response의 settled 과정에서 에러가 발생하면 catch 블록에서 에러를 처리합니다.

마무리

이렇게 자바스크립트에서 async/await와 try-catch문을 함께 사용하여 비동기 코드를 처리할 수 있습니다. 이를 통해 코드의 가독성을 높이고 에러 처리를 간단하게 할 수 있습니다. async/await와 try-catch문을 적절하게 활용하여 안정적이고 효율적인 자바스크립트 코드를 작성해보세요!