프로미스 체인닝 방식으로 여러 가지 비동기 작업을 순서대로 수행했던 것을 마치 동기적으로 처리하는 것처럼 더 간편하게 해준다.
Async & Await은 내부적으로 프로미스를 사용한다.
비동기 함수를 정의할 때 사용하는 키워드
함수 앞에 Async를 붙여주면 항상 프로미스를 리턴하는 비동기 함수가 된다.

Async 내부의 데이터를 반환하면 프로미스로 한 번 감싸져서 반환이 된다.
하지만 만약 이렇게 async 안에 promise를 반환하면 한 번 더 프로미스로 감싸는게 아닌 그대로 반환이 된다.

이렇게 await를 이용해 해당 함수의 수행을 기다릴 수 있다.

프로미스 체이닝과 Async & Await을 비교해보면 Async & Await이 훨씬 간단한 것을 알 수 있다.
일반함수와 같이 try / catch문을 사용하면 된다.


https://www.youtube.com/watch?v=6-8mbuUC3fk&ab_channel=%EB%B3%84%EC%BD%94%EB%94%A9