[TIL] async/await

나지은·2022년 9월 20일

async

aync는 function 앞에 위치하며, function 앞에 async를 붙이면 해당 함수는 항상 Promise를 반환한다. Promise가 아닌 값을 반환하더라도, resolved promise로 이행된 promise가 반환되도록 한다.

async function sample() {
  return 'result';
}

sample.then(res => console.log(res))

await

await은 async 함수 안에서만 동작한다. await은 promise가 처리될 때까지 기다렸다가, 이행된 후 그 결과가 반환된다. promise의 이행을 기다리는 동안 다른 스크립트를 실행하거나, 이벤트를 처리하는 일을 할 수 있기 때문에 CPU 리소스를 낭비하지 않게된다.

단, 일반 함수에는 await를 사용할 수 없다.

async가 아닌 함수에서 async 함수 호출하기

async function wait() {
  await new Promise(resolve => setTimeout(resolve, 1000)); 
  return 10;
}

function f() {
  wait().then(result => console.log(result));
}

f();

참고
async와 await

profile
즐거움을 찾는 개발자🐯

0개의 댓글