async/await 구문은 Promise 객체를 다루는 코드(Promise Chaining 코드 등)를 사람들이 좀더 익숙하게 느끼는 동기 실행 스타일의 코드로 작성할 수 있게 해주는 Syntactic sugar입니다.
※비동기 실행 함수로 async를 붙이는 위치
// 1) 함수 선언식
async function example1(a, b) {
return a + b;
}
// 2-1) 함수 표현식
const example2_1= async function add(a, b) {
return a + b;
};
// 2-2)
const example2_2 = async function(a, b) {
return a + b;
// 3-1) 화살표 함수
const example3_1 = async (a, b) => {
return a + b;
};
// 3-2)
const example3_2 = async (a, b) => a + b;
async는 asynchronous의 줄임말로 비동기를 의미합니다. 이 함수 안에 비동기적으로 실행될 부분(await)이 있다는 것을 의미합니다.
await는 async 안에서만 작동합니다. 프로미스 객체를 리턴하는 코드에 붙인다. 프로미스 코드를 기다려준다. fullfilled 상태가 될때까지 기다림 작업성공결과인 reponse 결과를 리턴합니다.
async함수 안에서 순차적으로 실행되다가 await문을 만나면 await 바로 뒤 코드를 실행해두고 일단은 함수 바깥으로 코드 흐름이 바뀐다.
async/await 구문을 이용시 장점