Table of Contents
비동기란
- 비동기는 코드의 실행 순서와 실행에 대한 결과의 순서가 일치하는 것을 보장하지 않는 방식을 말한다
- 보통 코드 내에서 시간이 오래 걸리는 작업을 하나의 비동기 함수로 묶는다
- 비동기는 대부분 논블로킹(non-blocking)이기 때문에, 비동기 함수가 자신이 실행되는 동안 다른 코드의 실행을 막지 않는다
- 네트워크 비용이 있는 작업 또는 I/O 작업은 보통 시간이 오래 걸리기 때문에, 이러한 작업들을 비동기 함수로 만든다
- 참고로 비동기 함수 내부는 동기적으로 실행된다
백엔드에서 비동기가 필요한 때
- 비동기 프로그래밍은 시간이 오래 걸리는 작업을 백그라운드로 실행하고, 그동안 다른 작업을 계속 진행한다
- 그렇기 때문에 비동기 프로그래밍은 사용자 경험을 향상시키고, 서버를 효율적으로 실행하는데 중요한 역할을 한다
자바스크립트에서 비동기 구현 방식
- 자바스크립트에서는 비동기 프로그래밍을 지원 하기 위해 콜백함수, 프로미스, async/await 패턴을 사용한다