JavaScript에서 Async와 Await (신입 개발자를 위한 쉬운 설명)

발행: (2026년 1월 20일 오후 12:32 GMT+9)
3 min read
원문: Dev.to

Source: Dev.to

Introduction

비동기 JavaScript를 이해한 뒤, 다음으로 중요한 개념은 asyncawait입니다.
이들은 비동기 코드를 간단하고 읽기 쉬운 형태로 작성하도록 도와줍니다.

What is async?

async는 함수 앞에 붙이는 키워드입니다. JavaScript에 다음을 알려줍니다:

이 함수는 비동기 코드를 다루며 항상 Promise를 반환합니다.

Example

async function greet() {
  return "Hello World";
}

greet().then(result => console.log(result));

What is await?

awaitasync 함수 내부에서 사용됩니다. JavaScript에 다음을 알려줍니다:

비동기 작업이 완료될 때까지 여기서 기다린 뒤, 계속 진행합니다.

Simple Example (Code)

function getData() {
  return new Promise((resolve) => {
    setTimeout(() => {
      resolve("Data received");
    }, 2000);
  });
}

async function showData() {
  console.log("Fetching data...");
  const result = await getData();
  console.log(result);
}

showData();

Output

Fetching data...
Data received

비록 기다리지만, 브라우저가 멈추지는 않습니다.

Real‑Life Example (Very Easy)

Online Shopping Analogy

Without await:

  • 제품을 주문합니다.
  • “배송됐나요?” 라고 계속 물어봅니다.
  • 코드가 복잡해집니다 😵

With async / await:

  • 주문을 합니다 🛒
  • 평온하게 기다립니다.
  • 배송이 도착하면, 열어봅니다 📦

결과: 깔끔하고, 읽기 쉬우며, 이해하기 쉬운 코드.

Why Use Async & Await?

  • 비동기 코드를 동기 코드처럼 보이게 합니다.
  • 신입 개발자도 쉽게 이해할 수 있습니다.
  • 복잡한 .then() 체인을 피할 수 있습니다.
  • 가독성과 디버깅이 향상됩니다.

Rules to Remember

  • awaitasync 함수 내부에서만 작동합니다.
  • async 함수는 항상 Promise를 반환합니다.
  • await함수를 일시 정지시키며, 전체 프로그램을 멈추지는 않습니다.
Back to Blog

관련 글

더 보기 »

React 앱의 기본

소개 오늘은 React 앱을 생성할 때 보이는 파일과 폴더의 이유와 사용 방법을 살펴보겠습니다. !React app structurehttps:/...