[Javascript] async & await

Da-hye·2021년 3월 29일
0

JavaScript

목록 보기
2/4
post-thumbnail

asyncawait는 함수 앞에 위치하여 promise를 쉽게 이용할 수 있게 해주는 문법이다.

1. async

👉 function 앞에 async를 붙이면 해당 함수는 항상 promise를 반환한다.

아래 예시의 함수를 호출하면 1을 리턴하는 promise가 반환된다.

async function a() {
  return 1;
}

a().then(alert); // 1

2. await

👉 awaitasync함수 안에서만 동작하며 원하는 promise 함수에 await을 붙이면 promise가 이행될 때 까지 기다린다.

아래 코드에서 resultpromise 함수가 처리될 때까지 기다린 후, alert창을 띄운다.

💡 함수 실행을 기다리는 동안에 CPU가 다른 일을 작업할 수 있기 때문에 리소스 낭비가 적다.

async function b() {

  let promise = new Promise((resolve, reject) => {
    setTimeout(() => resolve("성공"), 1000)
  });

  let result = await promise; 
  // promise가 처리될 때까지 함수 실행을 기다린다.

  alert(result); // "성공"
}

b();
profile
🌱 차근차근, 오래 즐겁게!

0개의 댓글