[JS] async와 await

지냐킴·2022년 8월 20일
0

JavaScript

목록 보기
5/5
post-thumbnail

모던자바
참고

async/await

async/await를 함께 사용하면 읽고, 쓰기 쉬운 비동기 코드를 작성할 수 있습니다.

async 함수

async는 function앞에 위치한다

async function f() {
  return 1;
}

async가 붙은 함수는 반드시 프라미스를 반환하고 프라미스가 아닌 것은 프라미스로 감싸 반환하다.

await

await는 async 함수 안에서만 동작한다

async function f() {

  let promise = new Promise((resolve, reject) => {
    setTimeout(() => resolve("완료!"), 1000)
  });

  let result = await promise; // 프라미스가 이행될 때까지 기다림 (*)

  alert(result); // "완료!"
}

f();

await는 프라미스가 처리되면 그 결과와 함께 실행이 재기되기 때문에 기다리는 동안 엔진이 다른 일을 할 수 있기에 cpu 리소스가 낭비되지 않는다. 가독성도 promise.then 보다 좋다
일반함수에서는 await를 사용할 수 없다 문법 에러 발생

profile
코린이일기

0개의 댓글

관련 채용 정보