2025-09-28 18:10
Tags: 자바스크립트
비동기(Asynchronous)
- 여러 작업을 동시에 처리하여 프로그램의 효율성과 사용자 경험을 극대화
- 동기 방식의 ‘작업이 끝날 때까지 대기’하는 문제점을 해결하기 위해
| 구분 | 동기(Synchronous) | 비동기(Asynchronous) |
|---|---|---|
| 작업 순서 | 정해진 순서에 따라 순차적으로 실행 | 순서에 상관없이 동시에 여러 작업 실행 |
| 제어권 | 함수 호출 시, 해당 함수의 실행이 끝나야 제어권 반환 | 함수 호출 시, 즉시 제어권 반환하고 백그라운드에서 작업 |
| 결과 처리 | 함수의 반환값(return)으로 결과를 바로 받음 | 콜백 함수나 프로미스 등을 통해 나중에 결과를 받음 |
| 장점 | 코드 흐름이 직관적이고 이해하기 쉬움 | 시스템 효율성 및 응답성 극대화, 향상된 사용자 경험 |
| 단점 | 블로킹으로 인한 성능 저하 발생 가능 | 코드 흐름이 복잡하고 디버깅이 어려울 수 있음 |