async function f() {
return 1;
}
async
함수는 항상 Promise
를 반환한다.
Promise
가 아닌 값도 Promise
로 값을 감싸 반환한다.
await
는 async
함수 안에서만 동작하며, Promise
가 처리 될 때까지 기다립니다.
async function f() {
let promise = new Promise((resolve, reject) => {
setTimeout(() => resolve("완료!"), 1000)
});
let result = await promise; // 프라미스가 이행될 때까지 기다림
alert(result); // "완료!"
}
f();
다음 코드에서,
await
를 만나 Promise
처리가 될 때 까지 기다렸다가 다음 동작을 진행하게 된다. 따라서 위의 함수를 실행하면 1초뒤에 완료!
가 출력되게 된다.