1. 동기와 비동기에 대해서
동기(synchronous) 란 ?
- 직렬적으로 태스크를 수행하는 방식이다.
- 즉, 요청을 보낸 후 응답을 받아야지만 다음 동작이 이루어지는 방식이다. 어떠한 태스크를 처리할 동안 나머지 태스크는 대기한다.
- 실제로 cpu가 느려지는 것은 아니지만 시스템의 전체적인 효율이 저하된다고 할 수 있다.

비동기(asynchronous) 란 ?
- 병렬적으로 태스크를 수행하는 방식이다.
- 요청을 보낸 후 응답의 수락 여부와는 상관없이 다음 태스크가 동작하는 방식이다.
- a 태스크가 실행되는 시간 동안 b 태스크를 할 수 있으므로 자원을 효율적으로 사용할 수 있다.
- 이때, 비동기 요청시 응답 후 처리할 '콜백 함수'를 함께 알려준다. 따라서 해당 태스크가 완료되었을 때, '콜백 함수'가 호출된다.
- 즉, 해당 함수 이후 진행되어야 하는 특정 일만 나오게 하고, 다른 일들은 동시에 처리가 가능하다는 것
- Ex) 서버에서 데이터를 받아오는 작업은 시간이 걸리기 때문에, 자바스크립트의 서버 호출 함수는 비동기 함수로 이루어져 있음.

2. Promise 객체
- 비동기 작업이 끝날 때까지 결과를 기다리는 것이 아니라, 결과를 제공하겠다는 약속을 반환한다는 의미
참고문헌 및 출처
동기, 비동기한? (+Promise, async/await 개념
자바스크립트 Async/Awit 개념 & 문법 정복
비동기처리 Promise