async와 await는 자바스크립트의 비동기 처리 패턴 중 가장 최근에 나온 문법이며 기존의 비동기 처리 방식인 콜백 함수와 프로미스의 단점을 보완하고 개발자가 읽기 좋은 코드를 작성할 수 있게 도와준다.
async function test() {
return "test"
}
result = test() // Promise { <resolved> : "test" }
async & await는 비동기 함수를 처리하기 위해 사용하며 비동기 처리가 없는 일반적인 함수에 async를 붙이면 리턴해주는 값은 resolve로 감싼 Promise를 리턴해준다.
async function test() {
return "test";
}
async function main() {
let promise = test(); // Promise {<resolved>: "test"}
let value = await test(); // "test"
}
async 함수를 실행하면 Promise객체가 리턴되며 await키워드를 사용하면 내부의 값을 리턴한다