Asynchronous JavaScript(비동기 자바스크립트)

🔗 JavaScript PromisesJavaScript Async / Await을 보고 정리한 내용입니다.

1. Promise

  • 콜백 방식과 비슷하지만, thencatch를 사용하여 더 간결하게 표현할 수 있다.

let p = new Promise((resolve, reject) => {
  let a = 1 + 1;
  if(a === 2) {
    // resolve
    resolve("Success");
  } else {
    // reject
    reject("Failed");
  }
})

// resolve
p.then((message) => {
  console.log("This is in the then " + message);
  // reject
}).catch((message) => {
  console.log("This in in the catch " + message);
})

// This is in the then Success
  • 비동기 데이터 처리와 같이 백그라운드에서 시간이 걸리는 작업에 Promise를 사용할 수 있다.

    • Promise는 계속 중첩되는 콜백 방식의 단점(콜백 지옥)을 해결할 수 있다.

1️⃣ Callback

2️⃣ Promise

Promise 이용하기

  • 항상 resolve 하는 다수의 Promise의 경우

  • Promise.all: 모든 Promise가 완료된 후 호출

  1. Promise.race: 첫번째 Promise가 완료되자마자 호출

2. Async/ Await

Async/ Await은 Promise를 더 편리하게(동기적으로) 사용하기 위해 만들어진 문법적인 설탕

1️⃣ Promise

2️⃣ Async/ Await

🔑 Async/ Await 유의점

  1. 항상 코드를 함수로 감싸고 함수 앞에 async 키워드를 추가한다.

  2. 비동기 코드 앞에 await 키워드 사용하여 Promise결과를 반환한다.

Last updated