1. 동기적 처리와 비동기적 처리
- Syncronous (동기) : 요청을 보낸 후, 해당 요청의 응답을 받아야 다음 동작을 실행 (코드를 한줄 실행 완료 후, 다음 줄 실행)
- Asynchronous (비동기) : 요청을 보낸 후, 응답과 관계없이 다음 동작을 실행 (코드를 한줄 실행 후, 완료와 상관없이 다음 줄 실행)
비동기적 처리의 이해
- 대부분의 프로그래밍 언어는 동기적 처리를 지향함
- 하지만, javascript 의 경우는 싱행이 오래 걸리는 동작의 경우, 이를 온전히 기다릴 필요 없이 다음 작업 실행이 가능하도록, 비동기적인 처리도 가능하도록 되어 있음.
- 따라서 javascript 는 다른 언어와 마찬가지로 동기적 처리를 기본으로 하지만, 일부 기능은 비동기적으로 처리가 가능하도록 관련 기능을 추가로 제공하고 있다고 이해하면 좋음
주요 비동기적 처리
오래 걸리는 기능은 비동기적으로 처리됨
- Rest API 요청
- 파일 / 데이터베이스 처리
- 타이머, 암호화/복호화 등