동기와 비동기의 차이는 바로 데이터를 처리하고 확인하는 시점의 차이.
대표적으로는 Ajax통신(비동기방식) 이 있다.
비동기방식은 보통 언제 데이터 처리가 완료 되는지 알 수 없을 때 사용하게 된다.
반면에 동기 방식은 코드가 매우 간소하여 편한 코드를 짤 수 있지만 JS의 특징인 싱글스레드 방식으로 데이터 처리가 늦어지는 경우가 있다.
Restful API를 호출하는 HTTP 통신 같은 경우 데이터를 동기적으로 처리 할 수 없다는 한계점이 있다.
그래서 JavaScript ES5 에서는 Promise ~ then 방식과 Async ~ Await 방식으로 비동기 처리가 가능해졌다.
다음 아래에서 promise/Async/Await에 대해서 알아보자.