
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초뒤에 완료!가 출력되게 된다.