본문 바로가기
배움의공간(學)/기타

async 와 await

by ㅋㅕㅋㅕㅇㅣ 2023. 6. 28.
async function name([param[, param[, ... param]]]) {
    statements
}

 

매개변수

name
  함수의 이름.

param Optional
  함수에게 전달되기 위한 인자의 이름.

statements Optional
  함수 본문을 구성하는 내용. await 메커니즘이 사용될 수 있다.

 

 

Description

async 함수에는 await식이 포함될 수 있습니다. 이 식은 async 함수의 실행을 일시 중지하고 전달 된 Promise의 해결을 기다린 다음 async 함수의 실행을 다시 시작하고 완료후 값을 반환합니다.

자바스크립트는 await 키워드를 만나면 프라미스가 처리될 때까지 기다립니다. 결과는 그 이후 반환됩니다.

Note: await 키워드는 async 함수에서만 유효하다는 것을 기억하십시오. async 함수의 본문 외부에서 사용하면 SyntaxError가 발생합니다.
Note: async/await함수의 목적은 사용하는 여러 promise의 동작을 동기스럽게 사용할 수 있게 하고, 어떠한 동작을 여러 promise의 그룹에서 간단하게 동작하게 하는 것이다. promise가 구조화된 callback과 유사한 것 처럼 async/await 또한 제네레이터(generator)와 프로미스(promise)를 묶는것과 유사하다.


async 함수는 항상 promise를 반환합니다. 만약 async 함수의 반환값이 명시적으로 promise가 아니라면 암묵적으로 promise로 감싸집니다.

 

 

예시

const sleep = delay => new Promise(resolve => setTimeout(resolve, delay));

async function test() {
     console.log('aa');
     await sleep(3000);
     console.log('bb');
}

 

출처

 

async function - JavaScript | MDN

async function 선언은 AsyncFunction객체를 반환하는 하나의 비동기 함수를 정의합니다. 비동기 함수는 이벤트 루프를 통해 비동기적으로 작동하는 함수로, 암시적으로 Promise를 사용하여 결과를 반환

developer.mozilla.org

 

 

async와 await

 

ko.javascript.info

 

댓글