동기와 비동기 개념 정리
1. 동기(Synchronous)
- 코드가 위에서 아래로 순차적으로 실행됨.
- 이전 코드의 작업이 끝나야 다음 코드가 실행됨.
2. 비동기(Asynchronous)
- 특정 작업이 끝나길 기다리지 않고 다음 코드가 먼저 실행될 수 있음.
- 오래 걸리는 작업(예: 네트워크 요청, 파일 읽기 등)을 처리할 때 사용됨.
3. async/await의 개념
async
async
키워드는 함수가 비동기 함수임을 선언함.
await
await
키워드를 사용하면 해당 비동기 작업이 완료될 때까지 일시정지(pause) 됨.
- 하지만 전체적인 실행 흐름은 여전히 비동기 방식으로 동작함.
- 따라서
await
를 사용하면 마치 동기 코드처럼 보이지만, 내부적으로는 비동기 처리가 됨.
4. 결론
- 비동기 안에서 특정 부분을 동기적으로 실행하는 방식이라고 이해하면 됨.
Promise란?
- Promise는 비동기 작업이 끝난 후 결과(성공 또는 실패)를 제공하는 객체입니다.
.then()
, .catch()
, .finally()
같은 메서드를 사용해서 비동기 작업을 처리할 수 있습니다.