동기 | Synchronous
- 작업들이 순차적으로 이루어진다.
- 다른 작업들을
blocking
- React에서는
useEffect
를 사용해 동기 처리
비동기 | Asynchronous
- 작업들이 순차적으로 이루어지지 않는다.
- 다른 작업들을
non-blocking
비동기 통신 방식
- Callback
- 함수 안에 함수
- 인자로 들어오는 함수
- 단점 : 콜백 헬로 인한 에러처리 불가, 가독성 저하
- Promise
- 비동기 통신 결과와 상태를 저장하는 객체
- 후속처리 메소드로
then(성공)
, catch(에러)
, finally(무조건)
이 있다.
- async / await
- Promise의 복잡성을 해결하기 위해 나온 비동기 패턴
- Promise를 기반으로 동작