← 목록

JavaScript Promises와 Async/Await의 기본 개념 🌟

작성: 2025년 06월 19일읽기: 약 2분

JavaScript를 배우는 여러분, 비동기 코드를 다루는 방법에 대해 들어본 적이 있나요? 오늘은 JavaScript의 비동기 처리를 도와주는 두 가지 중요한 개념, Promises와 Async/Await에 대해 알아볼 거예요. 이 개념들을 이해하면, 웹 개발에서 자주 마주치는 비동기 작업을 더 쉽게 처리할 수 있어요.

JavaScript Promises

Promise는 JavaScript에서 비동기 작업을 대표하는 객체입니다. 이 객체는 비동기 작업이 완료되었을 때의 결과값 또는 실패 이유를 처리합니다. Promise는 세 가지 상태를 가집니다:

Promise 예제

let promise = new Promise(function(resolve, reject) {
  // 비동기 작업을 수행합니다.
  let success = true; // 가정: 작업이 성공했다고 가정
  if (success) {
    resolve("작업 성공!");
  } else {
    reject("작업 실패.");
  }
});

promise.then(function(value) {
  console.log(value); // "작업 성공!" 출력
}).catch(function(error) {
  console.log(error); // "작업 실패." 출력
});

Async/Await

Async/Await는 Promises를 더 쉽게 사용할 수 있게 해주는 문법입니다. async 함수는 항상 Promise를 반환하며, 함수 내부에서 await 키워드를 사용하여 Promise의 결과를 기다릴 수 있습니다.

Async/Await 예제

async function fetchData() {
  try {
    let response = await fetch('https://api.example.com/data');
    let data = await response.json();
    console.log(data);
  } catch (error) {
    console.log("데이터를 불러오는 데 실패했습니다.", error);
  }
}

fetchData();

이 예제에서 fetchData 함수는 비동기적으로 데이터를 불러오고, 데이터가 성공적으로 불러와지면 그 결과를 출력합니다. 만약 불러오기를 실패하면, 오류 메시지를 출력합니다.

Promises와 Async/Await는 JavaScript에서 비동기 코드를 다루는 강력한 도구입니다. 이 개념들을 이해하고 사용하는 방법을 배우면, 웹 개발 과정에서 마주치는 다양한 비동기 작업을 효과적으로 처리할 수 있게 됩니다.

이제 여러분도 이 개념들을 활용하여 더 나은 웹 애플리케이션을 만들어보세요! 🚀