Skip to content

Latest commit

 

History

History
43 lines (33 loc) · 1.36 KB

이현섭.md

File metadata and controls

43 lines (33 loc) · 1.36 KB

async, await

  • asyncawait은 JavaScript에서 비동기 작업을 간편하게 처리하기 위해 ES2017 (ES8)에 도입된 문법.
  • 이 두 키워드를 사용하면 비동기 코드를 동기 코드처럼 읽고, 쓰며, 생각할 수 있음

async

  • async 키워드는 함수 앞에 위치.
  • 이를 사용하여 선언된 함수는 항상 프로미스(Promise)를 반환.
  • 만약 함수가 명시적으로 프로미스를 반환하지 않더라도, JavaScript 런타임은 함수에서 반환된 값을 자동으로 프로미스로 감싸 반환.
async function fetchUserData() {
  return { username: "Alice", age: 25 };
}

await

  • await 키워드는 오직 async 함수 내부에서만 유효.
  • await은 프로미스가 처리될 때까지 함수의 실행을 일시 중지하고, 프로미스가 이행(resolve)되면 함수 실행을 재개.
  • 프로미스가 거부(reject)될 경우, 예외를 발생시켜 try...catch 블록으로 제어를 넘길 수 있음.
async function displayUserData() {
  const userData = await fetchUserData();
}

에러 처리

async/await을 사용할 때 에러 처리는 try...catch문을 통해 가능

async function displayUserData() {
  try {
    const userData = await fetchUserData();
    console.log(userData);
  } catch (error) {
    console.error("An error occurred:", error);
  }
}