내일배움캠프 동영상 강의/내배캠_React 심화

동기, 비동기, promise

콛 다이어리 2024. 10. 29. 23:50

동기 (Synchronous Processing):
1. 요청과 그에 따른 응답이 순차적으로 일어나는 방식
2. 요청을 보내면 그 응답이 올 때까지 대기한 후

다음 작업을 진행
3. 일의 순서가 중요한 경우
4. 처리 순서가 보장되지만,

응답을 기다리는 동안 다른 작업을 수행할 수 없기 때문에

비효율 적일 수 있음

 

비동기 처리 (Acyncronous Processing):
1. 요청과 그에 따른 응답이

비순차적으로 일어나는 방식
2. 요청을 보내고 응답을 기다리지 않고,

다음 작업을 계속 진행함
3. 일의 순서가 중요하지 않은 경우,

효율적인 일 처리를 위해  처리

 

 Promise:
1. 자바스크립트에서 비동기 작업의 완료 또는 실패를

처리하기 위해 사용되는 개념
2. 비동기 작업이 성공하거나 실패했을 때

각각의 결과를 처리하는 데 도움을 줌
3. 비동기 작업의 결과를 다루기 쉽게 하기 위해 만들어짐
4. 비동기 작업이 쉽게 끝난 이후에

콜백을 등록할 수 있는 메서드 제공
5. Promise객체를 생성하기 위해 Promise 생성자 사용 가능

 

Promise가 없을 경우
1. 유지 보수가 힘듦
2. 흐름을 추적하기 힘듦
3. 에러 처리가 분산됨
4. 코드가 복잡해짐 (여러개의 비동기 작업을 순차적으로 처리할 경우)

 

Promise의 상태
1. 대기(Pending):
1. 초기 상태
2. 이행되거나 거부되지 않은 상태
3. 다른 상태로 변경되기 전까지의 상태


2. 이행(Fulfilled):
1. 비동기 작업이 성공적으로 완료된 상태
2. pending 상태에서 rejected 상태로 변경

3. then 함수를 사용


3. 거부(Rejected):
1. 비동기 작업이 실패한 상태
2. rejected로 인해 pending 상태에서 rejected 상태로 변경
3. catch, finally 함수를 통해 거부된 이후의 동작을 정의할 수 있음

 

 

 

 

'내일배움캠프 동영상 강의 > 내배캠_React 심화' 카테고리의 다른 글

axios (GET, POST)  (1) 2024.10.30
json server  (0) 2024.10.30
HTTP  (4) 2024.10.30
promise all, async / await  (0) 2024.10.30
용어  (1) 2024.10.29