개발/JavaScript

Promise 란?

Zaein 2023. 3. 25. 23:19

비동기적인 상황에서 작업의 순서를 정해야할때 사용함

이벤트루프를 기반으로 함

js의 비동기 처리를 위한 것

 

pending, fulfilled, rejected의 세가지 상태중 하나를 가짐!!

 

pending 에서 비동기처리 작업이 완료되면~

1) fulfilled 로 전환돼서 결과값을 반환하거나

2) 오류 발생시 rejected 상태로 전환돼서 오류정보를 반환함

 

 

성공시(fulfilled 상태) then()을 실행하고 실패시(rejected 상태) catch()를 실행함.

 

 

또한 then()을 여러개 가질 수 있는데 위에서부터 순서대로

각 then()이 완료되면 그 다음 then()이 실행됨.

 

작업 순서의 가독성이 좋아짐!!~~

 

 

*promise.all()을 쓰면 promise.all()안에 있는 then()이 순서 상관없이 병렬적으로 한번에 실행됨.

하지만 모든 then()이 완료될때까지 기다리므로 작업의 순서를 보장하면서도 빠르게 처리 가능

'개발 > JavaScript' 카테고리의 다른 글

'초기화' 란?  (0) 2023.04.11
이벤트루프 란?  (0) 2023.03.25
async/await 란?  (0) 2023.03.25
콜백함수 란?  (0) 2023.03.25
JavaScript 와 TypeScript 의 차이점  (0) 2023.03.25